{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# 1. An Introduction to Deep Learning for the Physical Layer - Autoncoders knowing gradient of the channel\n",
    "\n",
    "The goal of this notebook is to implement the autoencoder presented by [O'Shea and Hoydis, 2017](https://arxiv.org/pdf/1702.00832.pdf).\n",
    "\n",
    "We use pytorch to implement the autoencoder presented in the paper"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [],
   "source": [
    "import torch\n",
    "import torch.nn as nn\n",
    "import torch.nn.functional as F\n",
    "import torch.optim as optim\n",
    "\n",
    "import numpy as np\n",
    "import math\n",
    "\n",
    "# To make the plots\n",
    "import matplotlib.pyplot as plt\n",
    "%matplotlib inline\n",
    "\n",
    "# To supress some strange output at runtime\n",
    "from IPython.utils import io\n",
    "# Used during plotting the training loss\n",
    "from IPython import display"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "If possible we are going to use GPU to train faster"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Pytorch device: cuda:0\n"
     ]
    }
   ],
   "source": [
    "device = torch.device('cuda:0' if torch.cuda.is_available() else 'cpu')\n",
    "print('Pytorch device: %s' % (device))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "The models implemented in Pytorch and other necessary utilities are loaded from different files. This is done to have a single point of modification and the modules can be used in different places. It also helps us to keep this notebook as clean as possible and focus on the results."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "from models import Encoder, Decoder\n",
    "from utils import plot_constellation, count_errors, MemoryMessages, recover_models\n",
    "from comms_utils import channel, block_encoder, block_decoder, bler"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "All the pretrained models are located at this folder. Also if we use this notebook to train a new model is going to be saved at this folder"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [],
   "source": [
    "MODELS_FOLDER = 'trained_models'"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "This is a flag tha indicates if the notebook should train the models. If the flag is `False` then it is assumed we have some pre-trained models"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [],
   "source": [
    "train = True"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Introduction to Autoencoders\n",
    "\n",
    "The autoencoder is composed by an Encoder and a Decoder.\n",
    "\n",
    "The purpose of the Encoder in this case is the same as in communications. It can take up to $M$ possible messasges and find a representation in $n$ possible bits of each message $m$. To transmit $M$ messages we need at least $k = \\text{log}_2(M)$ bits. Traditionally this is the notation used in communications to present encoders $(n, k)$, which means $k$ bits encoded into $n$ bits. Traditionally $n \\geq k$ to have redundancy bits that can help us in error checking on the reciever side.\n",
    "\n",
    "The Decoder as the name suggests does the opposite job as the Encoder. It takes $n$ bits and tries to guess the original $m$ message. Normally this is presented as a conditional probability $p(y|x)$ where $y$ is the received message and $x$ the original one.\n",
    "\n",
    "#### Encoder implementation\n",
    "\n",
    "The architecture of the Encoder can be summarized as\n",
    "- Embedding layer or Fully connected layer\n",
    "- Fully connected layer\n",
    "- Normalization. Two possbile normalization options\n",
    "\n",
    "As noted the first layer of the Encoder can variate between an Embedding layer or a Fully connected layer. Depending on the which one we use we need to provide diffrent inputs to the Encoder. In Pytorch the Embedding layer takes the index of a message $m$ and represents it as vector of a specified dimension. In our case we implemented it so the vector has $M$ dimensions. The input of such layer then needs to be a list of messages indexes e.g. `[3, 0, 2, 10, ..]`. If we use a Fully connected layer the input of the Encoder need to be one-hot vectors indicating the messages we want to transmit. Each one-hot encoded vector also has a dimension of $M$. For example if we wanted to transmit message `1` then the one-hot vector would be `[1 0 0 0 0 ... ]`, for message number `3` `[0 0 1 0 0 0 ... ]` and so on. The input of the Encoder would be a list of one-hot encoded vectors.\n",
    "\n",
    "For the normalization layer we also have two available options. We can use a normalization proposed by the paper or a normalization that already comes in Pytorch. The normalization proposed by the paper is the following\n",
    "$$\n",
    "\\begin{aligned}\n",
    "\\hat{x} = \\frac{\\sqrt{N}x}{||x||_2}\n",
    "\\end{aligned}\n",
    "$$\n",
    "Where $\\hat{x}$ is the normalized vector, $N$ is the dimension of the vector and $x$ is the vector before normalization.\n",
    "The normalization that Pytorch uses can be found [here](https://pytorch.org/docs/stable/nn.html#batchnorm1d)\n",
    "When the paper normalization there were some problems realted with gradient explosion. It was decided to use this kind of normalzation in conjunction with clipping the gradients to try to prevent this problem\n",
    "\n",
    "#### Decoder implementation\n",
    "\n",
    "The architecture of the Decoder can be summarized as\n",
    "- Fully connected layer\n",
    "- Fully connected layer\n",
    "- LogSoftmax\n",
    "\n",
    "The LogSoftmax at the end has the purpose to output probabilities. It will output how probable is the $i^{th}$ input of the Decoder beloging to each possible $m$ message. Then we can just take the highest probability to be the response of the Decoder.\n",
    "\n",
    "In the next cell we implement the training loop. The models can be found in a separate file."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [],
   "source": [
    "def train_autoencoder(m, n, snr_db=10, chann_type=\"AWGN\", use_embedding=False, use_paper_norm=False,\n",
    "                     batch_size=32, n_epochs=1000, lr=0.001, clipping=None, plot=None, stop_value=0.005):\n",
    "    # Trying to avoid exploding gradients by using clipping\n",
    "    if use_paper_norm:\n",
    "        assert clipping is not None, \"Clipping cannot be none when using paper norm. Might cause errors\"\n",
    "    \n",
    "    # Get k. Number of bits necessary to transmit the m messages\n",
    "    k = math.log2(m)\n",
    "    \n",
    "    # Initialize the encoder and decoder\n",
    "    encoder = Encoder(m=m, n=n, use_embedding=use_embedding, use_paper_norm=use_paper_norm)\n",
    "    encoder.to(device)\n",
    "    decoder = Decoder(m=m, n=n)\n",
    "    decoder.to(device)\n",
    "    \n",
    "    # Adam optimizer for both encoder and decoder\n",
    "    enc_optimizer = torch.optim.Adam(encoder.parameters(), lr=lr)\n",
    "    dec_optimizer = torch.optim.Adam(decoder.parameters(), lr=lr)\n",
    "\n",
    "    # Variables to keep track of losses during training\n",
    "    losses = []\n",
    "    avg_losses = []\n",
    "    errors = []\n",
    "    avg_errors = []\n",
    "\n",
    "    for epoch in range(n_epochs):\n",
    "        # Beginning of the epoch. Fill out the memory\n",
    "        # Specify to the memory what kind of input we are going to use.\n",
    "        # Either a list of message indexes (embedding) [0, 3, 10, ..]\n",
    "        # Or one hot encoded vectors [0 1 0 0.., 0 0 0 1 0 .., ...]\n",
    "        messages = MemoryMessages(m, use_embedding=use_embedding)\n",
    "        epoch_errors = 0\n",
    "\n",
    "        # Until we have something in the memory the epoch has not finished\n",
    "        while len(messages) > 0:\n",
    "            # Sample from the memory that is left\n",
    "            batch, targets_np = messages.sample(batch_size)\n",
    "            batch_len = len(batch)\n",
    "\n",
    "            # Make sure the gradients are zero at the beginning\n",
    "            enc_optimizer.zero_grad()\n",
    "            dec_optimizer.zero_grad()\n",
    "\n",
    "            # Transform the sampled data to pytorch tensor\n",
    "            data = torch.from_numpy(batch).unsqueeze(1).to(device)\n",
    "            if not use_embedding:\n",
    "                data = data.type(torch.float).squeeze()\n",
    "\n",
    "            # Encode the data\n",
    "            encoded_data = encoder(data)\n",
    "            # Sometimes during training the weights of the linear layers get NaN when using paper normalization\n",
    "            # This will cause wrong training. Trying to catch this mistakes\n",
    "            if torch.isnan(encoded_data).any():\n",
    "                print(\"Encoder went to nan. Epoch: %d\" % (epoch))\n",
    "\n",
    "            # Pass the encoded message through the channel\n",
    "            data_channel = channel(encoded_data, n, k, snr_db, chann_type=chann_type)\n",
    "            if torch.isnan(data_channel).any():\n",
    "                print(\"Channel went to nan. Epoch: %d\" % (epoch))\n",
    "\n",
    "            # Decode the message\n",
    "            decoded_data = decoder(data_channel)\n",
    "            if torch.isnan(decoded_data).any():\n",
    "                print(\"Decoder went to nan. Epoch: %d\" % (epoch))\n",
    "\n",
    "            # Check if the received labels are the same as the originals\n",
    "            targets = torch.from_numpy(targets_np).to(device)\n",
    "            loss = F.nll_loss(decoded_data, targets)\n",
    "\n",
    "            loss.backward()\n",
    "\n",
    "            # Get how many classifications mistakes we made\n",
    "            epoch_errors += count_errors(decoded_data, targets)\n",
    "\n",
    "            # Trying to avoid NaN in linear layers by clipping the gradients\n",
    "            if clipping is not None:\n",
    "                torch.nn.utils.clip_grad_norm_(encoder.parameters(), clipping)\n",
    "                torch.nn.utils.clip_grad_norm_(decoder.parameters(), clipping)\n",
    "            \n",
    "            # Take a SGD step\n",
    "            enc_optimizer.step()\n",
    "            dec_optimizer.step()\n",
    "            \n",
    "            losses.append(loss.detach().to(\"cpu\").numpy())\n",
    "            errors.append(epoch_errors/m)\n",
    "            \n",
    "            last_losses = np.array(losses[-100:])\n",
    "            # If the loss is small enough the model has converged. Stop training\n",
    "            if np.all(last_losses < stop_value):\n",
    "                return encoder, decoder, errors\n",
    "\n",
    "        # If we desire to visualize the training we enter this if\n",
    "        if plot is not None:\n",
    "            print(\"Finished epoch: %d. Errors %f. Loss: %f\" % (epoch, errors[-1], losses[-1]), end=\"\\r\")\n",
    "            \n",
    "            if epoch > plot:\n",
    "                avg = np.mean(losses[-plot:])\n",
    "                avg_err = np.mean(errors[-plot:])\n",
    "            else:\n",
    "                avg = np.mean(losses)\n",
    "                avg_err = np.mean(errors)\n",
    "            avg_losses.append(avg)\n",
    "            avg_errors.append(avg_err)\n",
    "        \n",
    "            # Make a plot of training\n",
    "            if epoch%plot==0 and epoch != 0:\n",
    "                plt.clf()\n",
    "                # Unfortunately losses values and classification errors cannot\n",
    "                # be visualized in the same plot due to scaling issues. Commented out losses plotting\n",
    "#                 plt.plot(losses, label=\"Loss\")\n",
    "#                 plt.plot(avg_losses, label=\"Average loss\")\n",
    "                plt.plot(errors, label=\"Errors. Supervised training\")\n",
    "                plt.plot(avg_errors, label=\"Average Errors. Supervised training\")\n",
    "                plt.legend(loc='upper right')\n",
    "                display.clear_output(wait=True)\n",
    "                display.display(plt.gcf())\n",
    "            \n",
    "            if epoch == n_epochs-1:\n",
    "                print()\n",
    "                print(\"Finished training. Errors %f. Loss: %f\" % (errors[-1], losses[-1]))\n",
    "    \n",
    "    return encoder, decoder, errors"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To see which possible architecture setting reaches better results we are going to try the following:\n",
    "- Use one-hot encoded vectors and paper normalization. Original paper setting\n",
    "- Use embeddings and paper normalization\n",
    "- Use embeddings and Pytorch normalization\n",
    "\n",
    "These 3 approaches are going to be tried with $M=16, n=7 \\text{ and } \\text{SNR}_{\\text{dB}}=7$. In traiditional communication this would mean an encoder $(n, k) = (7, 4)$. Also for the three approaches we are going to use the same number of epochs in training.\n",
    "\n",
    "#### One-hot encoded vectors and paper normalization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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vpwhoy5j6XcLvNPXXD2exKZn88LTf8fpcND2vM489s8XsFitdD+vDQNGXOLN99GMI3zx8fsYjUZatGrNc2+8V+o+Dx86SHxCAharezyVOgmJ3mVDu3dg2tc/UCchkfVrV/Pi03/n3c/n8eaLU9izayd70naScyKT8bfcxWXj3TXYD956hUVzZxU5/rS0NEYOGET7Tl3Y8OdaBo+4hPzcbN594xXg9As0nvn3S0RHR5OVlcXhgwd4+I4bcebnkJtfwCNPP0/nC3p4v7uCgnyaNGvOl9M/Jjo6mgULFnDfffcRGRlJr169ShynvaCAN174J/l5eXTpvIJHHnmEJb+tZs+unezdnUaDRslMenwyE2+/mdzcHABefeVVBlzYh717dnP39WNYtGwFs2dM49cfFnL8ZDbpu3Zy0ZDhTPzb5CLllZOdzZ3XXkGnrt1Ys+p36tVvyMvvfoItIoIVK1Zw0003YTAYGDhwIN988w1//VX2cBIVEXIBXVpcgl/DX58iImODX7eZm3gu+7s/UWaaHxbNp2e//qS0OIv4OnXYsG4NPfpcyJMP30t2tnvsk4VzvmToqEvJPJrB2688z38//YpuZzfmvkef5MO33+C2+x4G8A6vC3As86g3UL323NN8Nf1jxt8wgWefnMRVN97K5WPG8v47p0f3W7RoEbt3bueTed+jteaeG8exavnPdOnWs0Seb77yYixmE06X5uLLx3HNLXcA7sDz6fwfAFj63QLvdJM4M21an83U6bNJaXEWf7vvNmZ89B5X33x7iXwP6NKG+b+swWK1ltsE0KPPhUz9z3Nc3CeVbr36MvjiS0ntXjK/xW3duJ6PZn9LSryJDud1pPdFg9i2eSO7d+4ocfz9upzL7p3befqlN+jQuStHM45w3SWDAHdAXzj3S26++4Ei258/6wt69L2IV597mt1HTrL3yLEi311kZBTvvfEfXnzxRR5++GFuueUWFi9ezFlnncWYMWNK5NdssXDHA4+yft1qpr03FYNBseS31ezYupkPZn6DLSICg7OA/077CqvNxq6d23n4vgn8sWpViW2t/3Md0+YvwWKxMqpfV8bdMKHEE6C7d25nymvv8MRzL/PQ7Tfw3TdzGHHpGG644QbefvttunfvzqRJk0psu6pCrw29nB9eisq/1USEkDK+/m9mz2TISPcIg4NHXsY3s2diMpkY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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Finished epoch: 9999. Errors 0.937500. Loss: 2.437057\n",
      "Finished training. Errors 0.937500. Loss: 2.437057\n"
     ]
    },
    {
     "data": {
      "image/png": "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vpwhoy5j6XcLvNPXXD2exKZn88LTf8fpcND2vM489s8XsFitdD+vDQNGXOLN99GMI3zx8fsYjUZatGrNc2+8V+o+Dx86SHxCAharezyVOgmJ3mVDu3dg2tc/UCchkfVrV/Pi03/n3c/n8eaLU9izayd70naScyKT8bfcxWXj3TXYD956hUVzZxU5/rS0NEYOGET7Tl3Y8OdaBo+4hPzcbN594xXg9As0nvn3S0RHR5OVlcXhgwd4+I4bcebnkJtfwCNPP0/nC3p4v7uCgnyaNGvOl9M/Jjo6mgULFnDfffcRGRlJr169ShynvaCAN174J/l5eXTpvIJHHnmEJb+tZs+unezdnUaDRslMenwyE2+/mdzcHABefeVVBlzYh717dnP39WNYtGwFs2dM49cfFnL8ZDbpu3Zy0ZDhTPzb5CLllZOdzZ3XXkGnrt1Ys+p36tVvyMvvfoItIoIVK1Zw0003YTAYGDhwIN988w1//VX2cBIVEXIBXVpcgl/DX58iImODX7eZm3gu+7s/UWaaHxbNp2e//qS0OIv4OnXYsG4NPfpcyJMP30t2tnvsk4VzvmToqEvJPJrB2688z38//YpuZzfmvkef5MO33+C2+x4G8A6vC3As86g3UL323NN8Nf1jxt8wgWefnMRVN97K5WPG8v47p0f3W7RoEbt3bueTed+jteaeG8exavnPdOnWs0Seb77yYixmE06X5uLLx3HNLXcA7sDz6fwfAFj63QLvdJM4M21an83U6bNJaXEWf7vvNmZ89B5X33x7iXwP6NKG+b+swWK1ltsE0KPPhUz9z3Nc3CeVbr36MvjiS0ntXjK/xW3duJ6PZn9LSryJDud1pPdFg9i2eSO7d+4ocfz9upzL7p3befqlN+jQuStHM45w3SWDAHdAXzj3S26++4Ei258/6wt69L2IV597mt1HTrL3yLEi311kZBTvvfEfXnzxRR5++GFuueUWFi9ezFlnncWYMWNK5NdssXDHA4+yft1qpr03FYNBseS31ezYupkPZn6DLSICg7OA/077CqvNxq6d23n4vgn8sWpViW2t/3Md0+YvwWKxMqpfV8bdMKHEE6C7d25nymvv8MRzL/PQ7Tfw3TdzGHHpGG644QbefvttunfvzqRJk0psu6pCrw29nB9eisq/1USEkDK+/m9mz2TISPcIg4NHXsY3s2diMpkY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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Sample on how training can be executed with paper normalization without embeddings. Original proposed settings\n",
    "# Because of clipping and bad normalization a lot of samples to converge\n",
    "if train:\n",
    "    _, _, _ = train_autoencoder(m=16, n=7, snr_db=7, n_epochs=10000, use_embedding=False,\n",
    "                                use_paper_norm=True, clipping=1, plot=1000)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Embeddings and paper normalization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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LVvynJtRo0Zx5Ejh16/yGzlypKOJKjExkbFjx3L06FGUUmRnZxe6zuDBg/Hx8cHHx4eGDRty4cIFQkJC8pTp1q2bY15ERASxsbEEBATQokULx3kYM2YMs2bNcirO6saZu1yK/bqz393yuMsiEh6vpJq0O+Rvv3amPdvX19eRlEwmE1u3bmXlypUsXryYjz/+mFWrVhW7vo+PDwMHDmTgwIE0atSIH374gb59++a5HS3/fcb5b1VTSqG15qOPPqJ///55lq1Zs6bAcYwcOZLFixdz/vz5Al9iAPfeey/du3dn6dKlDBo0iM8++wytNWPHjuWtt97KU/aHH34o9viKkzuul19+mT59+vD9998TGxtL7969C13Hx8fH8dpoNGI2m8tUpiartn25aGlzEU7o1q0ba9eu5dKlS1gsFubPn88tt9xSoFxKSgqJiYkMGjSI999/n927dxe73ZzmHLDd8bJnzx6aN28OQKNGjTh48CBWq5Xvv/8+z3rfffcdVquVY8eOcfz4cVq3bk3//v359NNPHTXbI0eOkJqaWuh+R40axYIFC1i8eDEjR44ssPz48eO0aNGCiRMnMnToUPbs2UPfvn1ZvHgxFy9eBODy5cucPHmS7t27s3btWhISEsjOzua7774rdJ+BgYEkJycXeS4SExNp2tR249ucOXOKOWtl07p1a44fP+74JbJw4UKX78NTyKP/otrI34Y+YMCAEm9dbNy4MdOmTaNPnz5orRk8eDBDhw4tUC45OZmhQ4eSkZGB1pr33nsPgB9//JHo6GimTp2ap/zFixcZP348mZmZgO2LI+eWv2nTpnHHHXcQHBxMZGQkKSkpjvWaNWtGt27dSEpKYubMmfj6+vLII48QGxtLly5d0FoTHBxcZO25ffv2JCcn07RpUxo3blxg+aJFi5g3bx5eXl5cc801vPDCC9SvX5833niDfv36YbVa8fLyYsaMGfTo0YMpU6YQFRVF3bp185zb3O68805GjBjBkiVL+Oijjwosf/bZZxk7dixvvPEGgwcPLnQb5eHn58cnn3zCgAED8Pf3dzQd1URKu6kqGxkZqcs6wEXo5KUllmlWvxbrnu1Tpu2L0jt48CBt27Z1dxgebdy4cdxxxx0uuWe8pklJSSEgIACtNY8//jgtW7bk6aefdndY5VbY50optV1rXej9ntW2yUUIUXPMnj2biIgI2rdvT2JiIo8++qi7Q3ILaXIRooqoiPblmuLpp5+uFjXy8vK4GnpiwgWuU2dQWIstZ9Waq2lZJKRkYrHKFVIhRPXncTX0me+/ykqf+XTLmMFF6hVZLu5KOhFTfwOgYaAPW1+8rbJCFEIIt/C4GrrFXtne6vs4M7w+wJlnQi8mZ1ZsUEIIUQV4XEJ/2PSL4/Vg41Y2+TyJHzLsmRBCeFxCb6Ty9qHRWF3moO9DPGBc4aaIRFXyww8/oJTi0KFD7g6lRKGhoYSHhzu6+3WmK9mK9Oabb9K+fXs6duxIREQEW7ZscVssrugyN3fnX7nt2rWLZcuWlXp7znZDPGjQoBL7+qkoHteGftDajLaGU9yT+TLhhhO87PU1AK97zaGlOsMrZulKpiabP38+N910E/Pnz+e1114r9/ZK221uaa1evZoGDRoUuTx/97PFdUebW2nj3rRpEz///DM7duzAx8eHS5cukZWV5fT6paW1Rmvt6I0yv4rsMnfXrl1ER0czaNCgAstc0Q1xWb4sXMXjaugG+90tVwngc8sgQjO+5e7MKQA8aPqNUOX2jh6Fm6SkpLBhwwY+//xzFixYAMCvv/6a5xH43LW2FStWEBUVRZcuXRg5cqTjic383evOnj2brl270qlTJ4YPH05aWhoAx44do0ePHoSHh/PSSy/l6Rb3nXfecXR3++qrr5bqOHr37s1TTz1FZGQkH374YYHplStX0rlzZ8LDw3nooYccT6Pmj3v69OmO7n5Hjx5d7D7PnTtHgwYNHH2lNGjQgCZNmji2e+nSJcA2KEVOXyxTpkzhgQceICoqipYtWzJ79uxijz82NpbWrVvz4IMP0qFDB15//XWeeeYZxzq5B9DIOZfnzp2jV69eRERE0KFDB9avX1/s3+7XX3+lTZs2dOnShf/9738FjjMrK4tXXnmFhQsXEhERwcKFCx3H0bNnTx544AFiY2O5+eab6dKlC126dHF8ueTuhnjOnDncfffdDBgwgJYtW/Lss8869pFzvmJjY2nbti3jx4+nffv29OvXj/R02zgN27Ztc/wSeuaZZxzbLS+Pq6Ff0PVoTRzp/Dm83A7dioey/skX3u9yv/F33jA/4MYIBb9MhvN7XbvNa8JhYPGP8S9ZsoQBAwbQqlUrgoKC2L59O7fddhsTJkwgNTUVf39/Fi5cyOjRo7l06RJvvPEGv//+O/7+/rz99tu89957vPLKK0De7nYTEhIYP348AC+99BKff/45Tz75JJMmTWLSpEmMGTOGmTNnOuJYsWIFR48eZevWrWitGTJkCOvWraNXr14FYu7Tp4+jJj127FjHvdRZWVnkPEn9008/OaYzMjIcPSS2atWKBx98kE8//ZSnnnqqQNxNmjThxIkT+Pj4lNgE0K9fP6ZOnUqrVq247bbbGDVqVKF92uS3Z88eNm/eTGpqKp07d2bw4MHs27ev0ONv1qwZR48eZe7cufTo0YP4+HiioqJ45513AFsfLC+++GKe7X/77bf079+fF198EYvFQlpaWpF/u2effZbx48ezatUqrr/++kI7J/P29mbq1KlER0fz8ccfA7YvpgMHDrBhwwb8/PxIS0vjt99+w9fXl6NHjzJmzBgKe6p9165d7Ny5Ex8fH1q3bs2TTz7Jtddem6fM0aNHmT9/PrNnz+aee+7hv//9L/fffz9/+ctfmD17NlFRUUyePLnE8+wsj6uhT8x+golZj3NaN8ozf5W1C79aujLUuBET0gNbTTR//nxHTXT06NHMnz8fk8nEgAED+OmnnzCbzSxdupShQ4eyefNmDhw4QM+ePYmIiGDu3LmcPHnSsa3cyWDfvn3cfPPNhIeH880337B//37A1kyRU/u/9957HeVXrFjBihUr6Ny5M126dOHQoUOOgSTyW716Nbt27WLXrl15Howpqrvfw4cPExYWRqtWrQDbl8C6desKXa9jx47cd999fP311yU20wQEBLB9+3ZmzZpFcHAwo0aNcupBp6FDh+Ln50eDBg3o06cPW7duLfb4mzdvTo8ePQAIDg6mRYsWbN68mYSEBA4dOkTPnj3zbL9r1658+eWXTJkyhb179xIYGFjk3+7QoUOEhYXRsmVLlFLcf//9JcafY8iQIfj5+QGQnZ3N+PHjCQ8PZ+TIkRw4cKDQdfr27evoVrldu3Z53j85wsLCHH3g3HDDDcTGxnL16lWSk5OJiooC8r53ysvjauhXCeRHa89Cl31n6cUA4zbuMa7lW0vx/U6LClRCTboiXL58mVWrVrF3716UUlgsFpRSvPPOO4wePZqPP/6Y+vXrExkZSWBgIFprbr/9dubPn1/o9nJ3/zpu3Dh++OEHOnXqxJw5c1izZk2xsWitef7558v1+HlZuvvNX27p0qWsW7eOn376iTfffJO9e/cWm9iNRiO9e/emd+/ehIeHM3fuXMaNG4fJZMJqtTV1Otvdb2HHHxsbW+A4Ro8ezaJFi2jTpg133XVXge316tWLdevWsXTpUsaNG8ff//536tWrV+jfrqThB4uTO67333+fRo0asXv3bqxWK76+voWuU5bufnOaXCqKx9XQi7PW2gmAgQb3XZ0X7rF48WIeeOABTp48SWxsLKdPnyYsLIz169dzyy23sGPHDmbPnu2owffo0YONGzcSExMDQGpqapGDNyQnJ9O4cWOys7P55ptvHPN79OjhGHknp80eoH///nzxxReOdt0zZ844uqYtr9atWxMbG+uIe968eYU2jVitVk6fPk2fPn14++23SUxMzNOrY36HDx/O8yti165dju5+Q0ND2b59O0CBkYaWLFlCRkYGCQkJrFmzhq5du5bq+O+66y6WLFmS59dVbidPnqRRo0aMHz+eRx55hB07dhT5t2vTpg2xsbEcO3YMoMgva2e6+80ZPnDevHl5Rnxyhbp16xIYGOi4iyj3e6e8qlVCN2PiS3N/uhoOU0vuTa9R5s+fz1133ZVn3vDhw5k/fz5Go5E77riDX375xXFBNDg4mDlz5jBmzBg6duxIVFRUkbc6vv7663Tv3p2ePXvSpk0bx/wPPviA9957j44dOxITE0OdOnUAW3v0vffeS1RUFOHh4YwYMaLIBNKnTx/HbYsPPvhgicfp6+vLl19+yciRIwkPD8dgMPDYY48VKGexWLj//vsJDw+nc+fOTJw4kbp16xIdHc0jjzxSoHxKSgpjx451XEQ9cOAAU6ZMAeDVV19l0qRJREZGFrhzpmPHjvTp04cePXrw8ssv06RJk1Idf7169Wjbti0nT56kW7duBZavWbOGTp060blzZxYuXMikSZOK/Nv5+voya9YsBg8eTJcuXWjYsGGh++zTpw8HDhxwXBTN729/+xtz586lU6dOHDp0qEIG9/78888ZP348ERERpKamOt475eVx3eeW1HVuN3WQRT6v83jWRJZaezjmx05zfT/M4k81sfvctLQ0/Pz8UEqxYMEC5s+fz5IlS9wdVqWZMmVKnrFEhfNyuvsFW//4586d48MPPyxQrrTd53pcG3pJonVrLuq6DDZuzpPQh87YyBN9ruf2do2KWVsI523fvp0nnngCrTV169bliy++cHdIwkMsXbqU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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Finished epoch: 9999. Errors 0.000000. Loss: 0.013756\n",
      "Finished training. Errors 0.000000. Loss: 0.013756\n"
     ]
    },
    {
     "data": {
      "image/png": "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LVvynJtRo0Zx5Ejh16/yGzlypKOJKjExkbFjx3L06FGUUmRnZxe6zuDBg/Hx8cHHx4eGDRty4cIFQkJC8pTp1q2bY15ERASxsbEEBATQokULx3kYM2YMs2bNcirO6saZu1yK/bqz393yuMsiEh6vpJq0O+Rvv3amPdvX19eRlEwmE1u3bmXlypUsXryYjz/+mFWrVhW7vo+PDwMHDmTgwIE0atSIH374gb59++a5HS3/fcb5b1VTSqG15qOPPqJ///55lq1Zs6bAcYwcOZLFixdz/vz5Al9iAPfeey/du3dn6dKlDBo0iM8++wytNWPHjuWtt97KU/aHH34o9viKkzuul19+mT59+vD9998TGxtL7969C13Hx8fH8dpoNGI2m8tUpiartn25aGlzEU7o1q0ba9eu5dKlS1gsFubPn88tt9xSoFxKSgqJiYkMGjSI999/n927dxe73ZzmHLDd8bJnzx6aN28OQKNGjTh48CBWq5Xvv/8+z3rfffcdVquVY8eOcfz4cVq3bk3//v359NNPHTXbI0eOkJqaWuh+R40axYIFC1i8eDEjR44ssPz48eO0aNGCiRMnMnToUPbs2UPfvn1ZvHgxFy9eBODy5cucPHmS7t27s3btWhISEsjOzua7774rdJ+BgYEkJycXeS4SExNp2tR249ucOXOKOWtl07p1a44fP+74JbJw4UKX78NTyKP/otrI34Y+YMCAEm9dbNy4MdOmTaNPnz5orRk8eDBDhw4tUC45OZmhQ4eSkZGB1pr33nsPgB9//JHo6GimTp2ap/zFixcZP348mZmZgO2LI+eWv2nTpnHHHXcQHBxMZGQkKSkpjvWaNWtGt27dSEpKYubMmfj6+vLII48QGxtLly5d0FoTHBxcZO25ffv2JCcn07RpUxo3blxg+aJFi5g3bx5eXl5cc801vPDCC9SvX5833niDfv36YbVa8fLyYsaMGfTo0YMpU6YQFRVF3bp185zb3O68805GjBjBkiVL+Oijjwosf/bZZxk7dixvvPEGgwcPLnQb5eHn58cnn3zCgAED8Pf3dzQd1URKu6kqGxkZqcs6wEXo5KUllmlWvxbrnu1Tpu2L0jt48CBt27Z1dxgebdy4cdxxxx0uuWe8pklJSSEgIACtNY8//jgtW7bk6aefdndY5VbY50optV1rXej9ntW2yUUIUXPMnj2biIgI2rdvT2JiIo8++qi7Q3ILaXIRooqoiPblmuLpp5+uFjXy8vK4GnpiwgWuU2dQWIstZ9Waq2lZJKRkYrHKFVIhRPXncTX0me+/ykqf+XTLmMFF6hVZLu5KOhFTfwOgYaAPW1+8rbJCFEIIt/C4GrrFXtne6vs4M7w+wJlnQi8mZ1ZsUEIIUQV4XEJ/2PSL4/Vg41Y2+TyJHzLsmRBCeFxCb6Ty9qHRWF3moO9DPGBc4aaIRFXyww8/oJTi0KFD7g6lRKGhoYSHhzu6+3WmK9mK9Oabb9K+fXs6duxIREQEW7ZscVssrugyN3fnX7nt2rWLZcuWlXp7znZDPGjQoBL7+qkoHteGftDajLaGU9yT+TLhhhO87PU1AK97zaGlOsMrZulKpiabP38+N910E/Pnz+e1114r9/ZK221uaa1evZoGDRoUuTx/97PFdUebW2nj3rRpEz///DM7duzAx8eHS5cukZWV5fT6paW1Rmvt6I0yv4rsMnfXrl1ER0czaNCgAstc0Q1xWb4sXMXjaugG+90tVwngc8sgQjO+5e7MKQA8aPqNUOX2jh6Fm6SkpLBhwwY+//xzFixYAMCvv/6a5xH43LW2FStWEBUVRZcuXRg5cqTjic383evOnj2brl270qlTJ4YPH05aWhoAx44do0ePHoSHh/PSSy/l6Rb3nXfecXR3++qrr5bqOHr37s1TTz1FZGQkH374YYHplStX0rlzZ8LDw3nooYccT6Pmj3v69OmO7n5Hjx5d7D7PnTtHgwYNHH2lNGjQgCZNmji2e+nSJcA2KEVOXyxTpkzhgQceICoqipYtWzJ79uxijz82NpbWrVvz4IMP0qFDB15//XWeeeYZxzq5B9DIOZfnzp2jV69eRERE0KFDB9avX1/s3+7XX3+lTZs2dOnShf/9738FjjMrK4tXXnmFhQsXEhERwcKFCx3H0bNnTx544AFiY2O5+eab6dKlC126dHF8ueTuhnjOnDncfffdDBgwgJYtW/Lss8869pFzvmJjY2nbti3jx4+nffv29OvXj/R02zgN27Ztc/wSeuaZZxzbLS+Pq6Ff0PVoTRzp/Dm83A7dioey/skX3u9yv/F33jA/4MYIBb9MhvN7XbvNa8JhYPGP8S9ZsoQBAwbQqlUrgoKC2L59O7fddhsTJkwgNTUVf39/Fi5cyOjRo7l06RJvvPEGv//+O/7+/rz99tu89957vPLKK0De7nYTEhIYP348AC+99BKff/45Tz75JJMmTWLSpEmMGTOGmTNnOuJYsWIFR48eZevWrWitGTJkCOvWraNXr14FYu7Tp4+jJj127FjHvdRZWVnkPEn9008/OaYzMjIcPSS2atWKBx98kE8//ZSnnnqqQNxNmjThxIkT+Pj4lNgE0K9fP6ZOnUqrVq247bbbGDVqVKF92uS3Z88eNm/eTGpqKp07d2bw4MHs27ev0ONv1qwZR48eZe7cufTo0YP4+HiioqJ45513AFsfLC+++GKe7X/77bf079+fF198EYvFQlpaWpF/u2effZbx48ezatUqrr/++kI7J/P29mbq1KlER0fz8ccfA7YvpgMHDrBhwwb8/PxIS0vjt99+w9fXl6NHjzJmzBgKe6p9165d7Ny5Ex8fH1q3bs2TTz7Jtddem6fM0aNHmT9/PrNnz+aee+7hv//9L/fffz9/+ctfmD17NlFRUUyePLnE8+wsj6uhT8x+golZj3NaN8ozf5W1C79aujLUuBET0gNbTTR//nxHTXT06NHMnz8fk8nEgAED+OmnnzCbzSxdupShQ4eyefNmDhw4QM+ePYmIiGDu3LmcPHnSsa3cyWDfvn3cfPPNhIeH880337B//37A1kyRU/u/9957HeVXrFjBihUr6Ny5M126dOHQoUOOgSTyW716Nbt27WLXrl15Howpqrvfw4cPExYWRqtWrQDbl8C6desKXa9jx47cd999fP311yU20wQEBLB9+3ZmzZpFcHAwo0aNcupBp6FDh+Ln50eDBg3o06cPW7duLfb4mzdvTo8ePQAIDg6mRYsWbN68mYSEBA4dOkTPnj3zbL9r1658+eWXTJkyhb179xIYGFjk3+7QoUOEhYXRsmVLlFLcf//9JcafY8iQIfj5+QGQnZ3N+PHjCQ8PZ+TIkRw4cKDQdfr27evoVrldu3Z53j85wsLCHH3g3HDDDcTGxnL16lWSk5OJiooC8r53ysvjauhXCeRHa89Cl31n6cUA4zbuMa7lW0vx/U6LClRCTboiXL58mVWrVrF3716UUlgsFpRSvPPOO4wePZqPP/6Y+vXrExkZSWBgIFprbr/9dubPn1/o9nJ3/zpu3Dh++OEHOnXqxJw5c1izZk2xsWitef7558v1+HlZuvvNX27p0qWsW7eOn376iTfffJO9e/cWm9iNRiO9e/emd+/ehIeHM3fuXMaNG4fJZMJqtTV1Otvdb2HHHxsbW+A4Ro8ezaJFi2jTpg133XVXge316tWLdevWsXTpUsaNG8ff//536tWrV+jfrqThB4uTO67333+fRo0asXv3bqxWK76+voWuU5bufnOaXCqKx9XQi7PW2gmAgQb3XZ0X7rF48WIeeOABTp48SWxsLKdPnyYsLIz169dzyy23sGPHDmbPnu2owffo0YONGzcSExMDQGpqapGDNyQnJ9O4cWOys7P55ptvHPN79OjhGHknp80eoH///nzxxReOdt0zZ844uqYtr9atWxMbG+uIe968eYU2jVitVk6fPk2fPn14++23SUxMzNOrY36HDx/O8yti165dju5+Q0ND2b59O0CBkYaWLFlCRkYGCQkJrFmzhq5du5bq+O+66y6WLFmS59dVbidPnqRRo0aMHz+eRx55hB07dhT5t2vTpg2xsbEcO3YMoMgva2e6+80ZPnDevHl5Rnxyhbp16xIYGOi4iyj3e6e8qlVCN2PiS3N/uhoOU0vuTa9R5s+fz1133ZVn3vDhw5k/fz5Go5E77riDX375xXFBNDg4mDlz5jBmzBg6duxIVFRUkbc6vv7663Tv3p2ePXvSpk0bx/wPPviA9957j44dOxITE0OdOnUAW3v0vffeS1RUFOHh4YwYMaLIBNKnTx/HbYsPPvhgicfp6+vLl19+yciRIwkPD8dgMPDYY48VKGexWLj//vsJDw+nc+fOTJw4kbp16xIdHc0jjzxSoHxKSgpjx451XEQ9cOAAU6ZMAeDVV19l0qRJREZGFrhzpmPHjvTp04cePXrw8ssv06RJk1Idf7169Wjbti0nT56kW7duBZavWbOGTp060blzZxYuXMikSZOK/Nv5+voya9YsBg8eTJcuXWjYsGGh++zTpw8HDhxwXBTN729/+xtz586lU6dOHDp0qEIG9/78888ZP348ERERpKamOt475eVx3eeW1HVuN3WQRT6v83jWRJZaezjmx05zfT/M4k81sfvctLQ0/Pz8UEqxYMEC5s+fz5IlS9wdVqWZMmVKnrFEhfNyuvsFW//4586d48MPPyxQrrTd53pcG3pJonVrLuq6DDZuzpPQh87YyBN9ruf2do2KWVsI523fvp0nnngCrTV169bliy++cHdIwkMsXbqU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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Sample on how training can be executed with paper normalization and embeddings\n",
    "if train:\n",
    "    _, _, _ = train_autoencoder(m=16, n=7, snr_db=7, n_epochs=10000, use_embedding=True,\n",
    "                                use_paper_norm=True, clipping=0.5, plot=1000)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### Embeddings and Pytorch normalization"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD4CAYAAAD8Zh1EAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deXhTVfrA8e9JugFlpyBQoEXKXii1FCqiIMg+4MLqBqPirqDjgqOjDIOj/phx1NERYVQYlwKiggoKyi6K0LLva5GytgVKW+iWnN8fSUO6p23SNMn7eZ4+vft9T5q+OTn33nOU1hohhBCez+DuAIQQQjiHJHQhhPASktCFEMJLSEIXQggvIQldCCG8hJ+7TtykSRMdFhbmrtMLIYRHSkxMTNVah5S0zm0JPSwsjISEBHedXgghPJJS6nhp66TJRQghvIQkdCGE8BKS0IUQwku4rQ1deJe8vDySk5PJzs52dyhCeIWgoCBCQ0Px9/d3eB9J6MIpkpOTqVu3LmFhYSil3B2OEB5Na01aWhrJycmEh4c7vJ80uQinyM7OpnHjxpLMhXACpRSNGzeu8DdeSejCaSSZC+E8lfl/8rgmlzyTmetfX82lK3nk5Jv5fHIvwhrXYf+ZS9zcsZm7wxNCCLfxuBr6fzccIyUjh5x8MwB3zv2Nke/+zH3z5CElX2c0GomKirL9vP76626LxWw28+STT9K1a1ciIyPp2bMnx44dc0ssp06dYvTo0VU+zrx583j88ceLLV+7di2//PJLhY+XkJDAk08+We52119/fYWP7as8roZ+Piun2LLUzFw3RCJqmlq1arF9+/YytzGZTBiNxlLnHd2vPAsXLuTUqVPs3LkTg8FAcnIyderUcXj/isrPz8fPr+R/5xYtWrB48WKXnXvt2rUEBweXmHjLiismJoaYmJhyj1+ZDwtf5XE1dCEqKiwsjOeff57o6Gi++OKLYvPx8fFERkbStWtXnn/+edt+wcHB/OlPf6J79+78+uuvTJs2jc6dO9OtWzeeeeaZMs95+vRpmjdvjsFg+RcLDQ2lYcOGtuMWWLx4MZMmTQJg0qRJPPzww8TExNC+fXu+++47wPJh8uyzz9KzZ0+6devGBx98AFgSad++fRk5ciSdO3dm2rRpvPfee7ZjT58+nX/84x8kJSXRtWtXAPbs2UNsbCxRUVF069aNQ4cOAfDpp5/alj/00EOYTCYAPv74Y9q3b09sbCwbN24sVs6kpCRmz57Nv/71L6KiotiwYYOtHL169eK5555j8+bNxMXF0aNHD66//noOHDhgi3/EiBG2WO+77z769etH27Zteeeddwr9HQq279evH6NHj6Zjx47cddddFIy4tnz5cjp27Mh1113Hk08+aTuur/G4Grqo+f767R72nrrk1GN2blGPV/7Qpcxtrly5QlRUlG3+hRdeYNy4cQA0btyYrVu3AjBt2jTb/KlTp+jduzeJiYk0bNiQQYMGsWTJEm699VaysrLo1asX//znP0lLS+P+++9n//79KKW4ePFimbGMHTuWG264gQ0bNjBgwADuvvtuevToUW45k5KS2Lx5M0eOHKF///4cPnyY//3vf9SvX58tW7aQk5NDnz59GDRoEABbt25l9+7dhIeHs23bNqZOncpjjz0GwKJFi1ixYoUtOQPMnj2bKVOmcNddd5Gbm4vJZGLfvn0sXLiQjRs34u/vz6OPPspnn33GLbfcwiuvvEJiYiL169enf//+xcoQFhbGww8/THBwsO1D7sMPPyQ5OZlffvkFo9HIpUuX2LBhA35+fvz000/8+c9/5ssvvyxW9v3797NmzRoyMjLo0KEDjzzySLF7sLdt28aePXto0aIFffr0YePGjcTExPDQQw+xfv16wsPDmTBhQrmvs7fyuIQud1KI0pTV5FKQ2IvOb9myhX79+hESYum87q677mL9+vXceuutGI1G7rjjDgDq169PUFAQ999/PyNGjCi3BhgaGsqBAwdYvXo1q1evZsCAAXzxxRcMGDCgzP3Gjh2LwWAgIiKCtm3bsn//flauXMnOnTttzSbp6ekcOnSIgIAAYmNjbfcp9+jRg3PnznHq1ClSUlJo2LAhrVq1IikpyXb8uLg4Xn31VZKTk7n99tuJiIhg1apVJCYm0rNnT8Dywdi0aVN+++23Qq/NuHHjOHjwYJnxFxgzZoytiSo9PZ2JEydy6NAhlFLk5eWVuM/w4cMJDAwkMDCQpk2bcvbsWUJDQwttExsba1sWFRVFUlISwcHBtG3b1vY6TJgwgTlz5jgUp7fxvITu7gBEucqrSbtD0fZrR9qzg4KCbEnJz8+PzZs3s2rVKhYvXsy7777L6tWry9w/MDCQoUOHMnToUJo1a8aS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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Finished epoch: 5503. Errors 0.000000. Loss: 0.001579\r"
     ]
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAXQAAAD4CAYAAAD8Zh1EAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nO3deXhTVfrA8e9JugFlpyBQoEXKXii1FCqiIMg+4MLqBqPirqDjgqOjDIOj/phx1NERYVQYlwKiggoKyi6K0LLva5GytgVKW+iWnN8fSUO6p23SNMn7eZ4+vft9T5q+OTn33nOU1hohhBCez+DuAIQQQjiHJHQhhPASktCFEMJLSEIXQggvIQldCCG8hJ+7TtykSRMdFhbmrtMLIYRHSkxMTNVah5S0zm0JPSwsjISEBHedXgghPJJS6nhp66TJRQghvIQkdCGE8BKS0IUQwku4rQ1deJe8vDySk5PJzs52dyhCeIWgoCBCQ0Px9/d3eB9J6MIpkpOTqVu3LmFhYSil3B2OEB5Na01aWhrJycmEh4c7vJ80uQinyM7OpnHjxpLMhXACpRSNGzeu8DdeSejCaSSZC+E8lfl/8rgmlzyTmetfX82lK3nk5Jv5fHIvwhrXYf+ZS9zcsZm7wxNCCLfxuBr6fzccIyUjh5x8MwB3zv2Nke/+zH3z5CElX2c0GomKirL9vP76626LxWw28+STT9K1a1ciIyPp2bMnx44dc0ssp06dYvTo0VU+zrx583j88ceLLV+7di2//PJLhY+XkJDAk08+We52119/fYWP7as8roZ+Piun2LLUzFw3RCJqmlq1arF9+/YytzGZTBiNxlLnHd2vPAsXLuTUqVPs3LkTg8FAcnIyderUcXj/isrPz8fPr+R/5xYtWrB48WKXnXvt2rUEBweXmHjLiismJoaYmJhyj1+ZDwtf5XE1dCEqKiwsjOeff57o6Gi++OKLYvPx8fFERkbStWtXnn/+edt+wcHB/OlPf6J79+78+uuvTJs2jc6dO9OtWzeeeeaZMs95+vRpmjdvjsFg+RcLDQ2lYcOGtuMWWLx4MZMmTQJg0qRJPPzww8TExNC+fXu+++47wPJh8uyzz9KzZ0+6devGBx98AFgSad++fRk5ciSdO3dm2rRpvPfee7ZjT58+nX/84x8kJSXRtWtXAPbs2UNsbCxRUVF069aNQ4cOAfDpp5/alj/00EOYTCYAPv74Y9q3b09sbCwbN24sVs6kpCRmz57Nv/71L6KiotiwYYOtHL169eK5555j8+bNxMXF0aNHD66//noOHDhgi3/EiBG2WO+77z769etH27Zteeeddwr9HQq279evH6NHj6Zjx47cddddFIy4tnz5cjp27Mh1113Hk08+aTuur/G4Grqo+f767R72nrrk1GN2blGPV/7Qpcxtrly5QlRUlG3+hRdeYNy4cQA0btyYrVu3AjBt2jTb/KlTp+jduzeJiYk0bNiQQYMGsWTJEm699VaysrLo1asX//znP0lLS+P+++9n//79KKW4ePFimbGMHTuWG264gQ0bNjBgwADuvvtuevToUW45k5KS2Lx5M0eOHKF///4cPnyY//3vf9SvX58tW7aQk5NDnz59GDRoEABbt25l9+7dhIeHs23bNqZOncpjjz0GwKJFi1ixYoUtOQPMnj2bKVOmcNddd5Gbm4vJZGLfvn0sXLiQjRs34u/vz6OPPspnn33GLbfcwiuvvEJiYiL169enf//+xcoQFhbGww8/THBwsO1D7sMPPyQ5OZlffvkFo9HIpUuX2LBhA35+fvz000/8+c9/5ssvvyxW9v3797NmzRoyMjLo0KEDjzzySLF7sLdt28aePXto0aIFffr0YePGjcTExPDQQw+xfv16wsPDmTBhQrmvs7fyuIQud1KI0pTV5FKQ2IvOb9myhX79+hESYum87q677mL9+vXceuutGI1G7rjjDgDq169PUFAQ999/PyNGjCi3BhgaGsqBAwdYvXo1q1evZsCAAXzxxRcMGDCgzP3Gjh2LwWAgIiKCtm3bsn//flauXMnOnTttzSbp6ekcOnSIgIAAYmNjbfcp9+jRg3PnznHq1ClSUlJo2LAhrVq1IikpyXb8uLg4Xn31VZKTk7n99tuJiIhg1apVJCYm0rNnT8Dywdi0aVN+++23Qq/NuHHjOHjwYJnxFxgzZoytiSo9PZ2JEydy6NAhlFLk5eWVuM/w4cMJDAwkMDCQpk2bcvbsWUJDQwttExsba1sWFRVFUlISwcHBtG3b1vY6TJgwgTlz5jgUp7fxvITu7gBEucqrSbtD0fZrR9qzg4KCbEnJz8+PzZs3s2rVKhYvXsy7777L6tWry9w/MDCQoUOHMnToUJo1a8aS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\n",
      "text/plain": [
       "<Figure size 432x288 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Sample on how training can be executed using embeddings and pytorch normalization\n",
    "if train:\n",
    "    _, _, _ = train_autoencoder(m=16, n=7, snr_db=7, n_epochs=10000, use_embedding=True,\n",
    "                                use_paper_norm=False, plot=1000)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "As we note from the last training plots the approach of using one-hot encoded vectors and the normalization proposed by the paper is the worst one. This probably has to do with the fact that a one-hot encoded vector carries very little information making it hard for the loss to converge. Also some factor that may influence is the need to use clipping with the paper normalization. The classification errors were decreasing but a very little slow rate. The best and fastest performance was achieved using embeddings and Pytorch normalization. From here on we will use this setup to train our models.\n",
    "\n",
    "In the paper they compare the performance of the Autoencoder with a traditional BPSK and Hamming encoding. The $(n, k)$ encodings used are $(4, 4)\\ (7, 4)\\ (8, 8)\\ (2, 2)$. Next we are going to train our Autoencoder for these settings at a constant $\\text{SNR}_{\\text{dB}}=7$"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Training autoencoder (16, 4)\n",
      "Models saved in trained_models/AWGN_16_4_encoder.pth, trained_models/AWGN_16_4_decoder.pth\n",
      "Training autoencoder (16, 7)\n",
      "Models saved in trained_models/AWGN_16_7_encoder.pth, trained_models/AWGN_16_7_decoder.pth\n",
      "Training autoencoder (256, 8)\n",
      "Models saved in trained_models/AWGN_256_8_encoder.pth, trained_models/AWGN_256_8_decoder.pth\n",
      "Training autoencoder (4, 2)\n",
      "Models saved in trained_models/AWGN_4_2_encoder.pth, trained_models/AWGN_4_2_decoder.pth\n"
     ]
    }
   ],
   "source": [
    "# Train over all the (m, n). M messages encoded in n bits. m = 2**k\n",
    "# Equivalent to (n, k). k bits for messages encoded in n bits. k = log2(m)\n",
    "hamming_sizes = [(16, 4), (16, 7), (256, 8), (4, 2)]\n",
    "chann_type = \"AWGN\"\n",
    "if train:\n",
    "    for m, n in hamming_sizes:\n",
    "        print(\"Training autoencoder (%d, %d)\" % (m, n))\n",
    "        encoder, decoder, errors = train_autoencoder(m=m, n=n, snr_db=7, n_epochs=10000, chann_type=chann_type,\n",
    "                                                         use_embedding=True, use_paper_norm=False)\n",
    "\n",
    "        # Save the encoder and decoder models\n",
    "        enc_filename = \"%s/%s_%d_%d_encoder.pth\" % (MODELS_FOLDER, chann_type, m, n)\n",
    "        dec_filename = \"%s/%s_%d_%d_decoder.pth\" % (MODELS_FOLDER, chann_type, m, n)\n",
    "        torch.save(encoder.state_dict(), enc_filename)\n",
    "        torch.save(decoder.state_dict(), dec_filename)\n",
    "\n",
    "        print(\"Models saved in %s, %s\" % (enc_filename, dec_filename))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we can watch the constellation generated by our Encoder. This is done by getting the encoding for all possible messages and then adding 20 noise samples. So for every $m$ message of $M$ we will plot 20 different samples with noise. After adding the noise we will visualize the constellation using 2 dimensional t-SNE. If the encoder is trained properly we would be able to clearly distinguish between the groups of noisy samples of each $m$ message."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAABBYAAAOVCAYAAADdoWNSAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjEsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+j8jraAAAgAElEQVR4nOzdeXxU9b3/8feZGUIgK4RAVsHIvhm5oSwKoqlokWKpSxEXLFxj1d66tZW61OVixbpc7MWfGqteQAG1FvEicAWUshSXFFD2RRYxgRACYQ+Z5fv7Y8iQkJUhk0lmXs/HwyZzzvec85khkzl957tYxhgjAAAAAAAAP9iCXQAAAAAAAGi+CBYAAAAAAIDfCBYAAAAAAIDfCBYAAAAAAIDfCBYAAAAAAIDfCBYAAAAAAIDfCBbQaHbt2iXLsuRyuSRJw4YN01//+le/zvX9998rOjpabre7IUuUJK1cuVJdunRRdHS0PvroowY//7n4yU9+omnTpgW1BtTf8uXL1a1btwY/b6dOnbR48eIGP2+5d999V8OHD2/wtgDQ1HAvcu64F2leuBdBsBAshJCZM2cqKytL0dHRSk5O1k9+8hOtWLEiYNdbunSp0tLSAnb+is7+ZXbBBRfo2LFjstvtDX6tP/7xj/r1r3+tY8eO6Wc/+1mDn/9cLFiwQOPGjQvIue+44w45HA7t3bvXt+3qq6/Wc88953ucn58vy7Kq3bZv3z5J0tGjR/Xggw+qU6dOioqK0gUXXKAbbrhBX375pe8Yy7LUp08feTwe37bHHntMd9xxR71qLSkp0fjx45WUlKSYmBh17dpVkydP9vepB8yQIUO0ZcuWRr3mHXfcoccee+y8znHLLbfo008/bfC2AMIP9yINg3sR7kX8xb0IgoVgIUS89NJLuv/++/XII4+osLBQ33//ve655x7NnTs32KU1O7t371avXr38Orb8LyBN3fHjx/Xhhx8qLi5O77zzjm/70KFDtWzZMt/jZcuWqXv37lW2denSRUlJSTp16pSuvPJKrVu3TvPmzdORI0e0adMmjRkzRgsWLKh0zYKCAs2ePduveh944AEdO3ZMmzZt0uHDh/Xxxx+rc+fOfp3rfDSXf9+KmmPNAJon7kUaDvci3IvUpLn8+1bUHGuGHwyavZKSEhMVFWXef//9GtuUlpaa++67zyQnJ5vk5GRz3333mdLSUmOMMZ9//rlJTU01L7zwgklMTDRJSUnmrbfe8h37ySefmB49epjo6GiTkpJinn/+eXPs2DETGRlpLMsyUVFRJioqyuTn5xu3222effZZk5GRYdq2bWtuvPFGU1xcbIwxZufOnUaScTqdxhhjLr/8cvPGG28YY4zZvn27ueKKK0zbtm1NQkKCGTt2rDl06JAxxphbb73VWJZlIiMjTVRUlHnuueeqnCs/P9/89Kc/NW3atDEXXXSRyc3N9dX/xBNPmBtvvNHcdtttJjo62vTs2dN8/fXX1b5OGRkZla5VWlpa57mvv/56c8stt5iYmBjf86lo3Lhx5p577jEjRoww0dHR5kc/+pHZvn27b//KlStNVlaWiY2NNVlZWWblypW+fRVfo23btpmhQ4ea2NhYk5CQYG666SZfu02bNpkf//jHpk2bNqZr167mvffeq/FnwRhjpk2bZtLS0syUKVNMr169fNuXLVtm4uLijNvtNsYYc/fdd5vXXnvNtG/fvtK2CRMmGGOMeeONN0xSUpI5duxYrdeTZCZPnmw6d+7s+zd79NFHzbhx42o9rlyvXr3MnDlzqt139s+CMZVft7ffftsMHjzY3HvvvSY2NtZ069bNLF682Ne2pKTEjB8/3iQlJZmUlBTz6KOPGpfLVenY+++/37Rt29ZMnDjRxMXFmXXr1vmO379/v4mMjDSFhYW+91K5yZMnm5SUFBMdHW26du3qu25t7xNjjJk+fbq54IILTNu2bc2kSZNMx44dzaJFi6o899dff904HA7TokULExUVZUaOHGmMMaZjx45m8uTJpk+fPiYiIsI4nU7f9aKjo02PHj3M3//+d9953n77bXPppZf6Hksyr776quncubOJi4sz99xzj/F4POfc1uVymQcffNAkJCSYTp06mf/+7/+u8m8FIDRwL8K9CPci3ItwLxLeCBZCwIIFC4zdbq/1DfL444+bAQMGmMLCQrN//34zaNAg89hjjxljvB/mdrvdPP7446asrMx88sknplWrVubgwYPGGGOSkpLMsmXLjDHGHDx40PzrX//yHVfxF5cxxkyZMsUMGDDA7Nmzx5SWlpqcnBwzZswYY0ztH+bbtm0zn376qSktLTX79+83Q4YMMffdd5/vvGf/Mjv7XEOGDDF33323OXnypFmzZo1p166dWbJkiTHG+4HbsmVL88knnxiXy2UmTpxoBgwYUONrdfa16jq3w+Ewc+bMMW6325w4caLK+caNG2fatm1rvvzyS+N0Os3YsWPNL37xC2OMMcXFxSY+Pt5Mnz7dOJ1OM3PmTBMfH28OHDhQ5TUaM2aMmTRpknG73ebkyZNm+fLlxhhjjh07ZtLS0sxbb71lnE6nWb16tUlISDAbNmyo8TleeeWV5ne/+53Zt2+fsdvtJi8vzxjjvemLjIw0q1evNsZ4P0S/++47M3jw4Erbpk2bZowx5he/+EW9PpAlma1bt5p+/fr5ns+5fJhPmDDB9OzZ07z11ltm69atlfbV58Pcbrebl156yZSVlZnZs2eb2NhY34fnz372M5OTk2OOHTtmCgsLTf/+/c1rr71W6di//OUvxul0mhMnTphf/vKX5pFHHvFda+rUqebqq682xlR+T2zevNmkpaWZ/Px8X53lN3G1vU82bNhgoqKizD/+8Q9TWlpqHnjgAWO326v9MDfG+/P16KOPVtrWsWNHc/HFF5vvv//e9zP5/vvv+264Z8+ebVq3bm0KCgp8z/PsD+hrr73WHDp0yOzevdu0a9fOLFiw4Jzbvvrqq6ZHjx5mz5495uDBgyY7O5sPcyBEcS/CvQj3ItyLVMS9SPghWAgB77zzjunQoUOtbTIyMswnn3zie7xw4ULTsWNHY4z3F1BkZGSlN1hiYqJZtWqVMcaY9PR089prr5nDhw9XOmd1H+bdu3evlMAWFBQYh8NhnE5nrR/mZ5szZ47JzMz0Pa7tw/z77783NpvNHDlyxLd/4sSJvg+KJ554wmRnZ/v2bdiwwURGRtb4WlW8Vn3OPWTIkBrPZYz3l215qm6M968u3bp1M8Z40+D+/ftXaj9w4EDz9ttvG2Mqv0a33XabufPOO82ePXsqtZ89e7a57LLLKm3LyckxTz75ZLX17N6921iWZdasWWOMMWb48OHmN7/5jW//5ZdfbqZMmWKKi4tNWlqaMcaYhx9+2LfNsiyza9cuY4wx2dnZ5uGHH/Ydu2bNGhMXF2diYmJM165dfdslmW3btplPPvnEXHDBBebUqVPn9GF+4sQJ88wzz5h+/foZh8NhLrroIjN//nxjTP0+zJOTk33JtTHG9O/f30yfPt3s27fPREREVLoJmzlzphk2bJjv2PT09Eq1LFq0yGRkZPgeDx482HdzU/E9sW3bNpOYmGgWLVpkysrKKp2jtvfJU0895bvZM8Z7s9aiRYtz/jB/8803q21f7uKLLzYfffSR73me/QFdfrNojDE33nijefbZZ8+57RVXXOG7MTLG+9rxYQ6EJu5FuBfhXoR7kYq4Fwk/zLEQAhISEnTgwIFaxy8VFBSoY8eOvscdO3ZUQUFBpXM4HA7f49atW+vYsWOSpA8//FDz589Xx44ddfnll2vVqlU1Xmf37t0aPXq04uPjFR8frx49eshut6uwsLDW51BYWKgxY8YoNTVVsbGxuvXWW3XgwIE6n3v5c2vbtq1iYmIqPb/8/Hzf46SkpErPrbS0tF7jvepz7vT09DrPc/b1y1/bs/9dqjt/uT//+c8yxuhHP/qRevXqpbfeekuS9zX/8ssvfa95fHy83n33Xd+ERmebMWOGevTooczMTEneCXBmzpwpp9Mp6czYxuXLl+vSSy+VJF122WW+benp6b6aExISKk24lJmZqZKSEv3973/XqVOnqlx7xIgRSktL0+uvv17na1ZRq1at9Mgjj+hf//qXiouLddNNN+nGG2/UwYMH63V8amqqLMvyPS7/+d+9e7ecTqeSk5N9r91dd92l/fv3+9qe/e97xRVX6MSJE/ryyy+1a9curV27VqNHj65yzc6dO2vKlCl68skn1b59e40ZM8b3nqvtfVJQUFDpmlFRUUpISDin16u6uqdPn67MzEzfNdevX1/re6ymn9lzaXv2c6nPewVA88S9CPci3IvUjnsR7kVCHcFCCBg0aJBatmxZ63JEKSkp2r17t+/x999/r5SUlHqdv3///po7d67279+vn/3sZ7rpppskqdIvx3Lp6elasGCBSkpKfP+VlpYqNTW11ms88sgjsixL69at05EjR/TOO+/IGOPbX921Kj63gwcP6ujRo5WeX13XrI/6nLu22upz/or/LtWdv1xSUpLeeOMNFRQU6PXXX9c999yj7du3Kz09XZdffnml1/zYsWN69dVXq73m9OnTtWPHDiUlJSkpKUkPPvigDhw4oPnz50vyfpgvX75cy5Yt05AhQyRJl156qVauXKlly5Zp6NChvnNlZ2fr008/1fHjx+v9nJ955hn96U9/0okTJ+p9TEWxsbF65JFHdPz4ce3cuVNRUVGSVOl8Z9/I5OfnV/p5Kv/5T09PV8uWLXXgwAHfa3fkyBFt2LDB1/bsf1+73a6bbrpJs2bN0qxZszRy5MhKN3sVjR07VitWrNDu3btlWZYefvhhSbW/T5KTk7Vnzx7fOU6cOKHi4uIaX4+afv4qbt+9e7fuvPNOTZ06VcXFxSopKVHv3r0rvSaBkJycrB9++MH3uOLzAhBauBfhXoR7Ee5FatvOvUjoI1gIAXFxcXr66ad177336qOPPtKJEyfkdDq1YMEC/f73v5ck3XzzzZo0aZKKiop04MABPf3007r11lvrPHdZWZneffddHT58WC1atFBsbKxsNu+PTYcOHVRcXKzDhw/72v/qV7/So48+6vuAKioqqtds0EePHlV0dLTi4uKUn5+v559/vtL+Dh06aMeOHdUem56ersGDB+sPf/iDSktL9e233+rNN9+s1/OrSyDPLXlT861bt2rmzJlyuVx67733tHHjRo0cObJK2w8++MD3i7FNmzayLEs2m00jR47U1q1bNWPGDDmdTjmdTn399dfatGlTlXOsWrVK3333nb766iutXbtWa9eu1fr16zV27FhNnz5dkvfmsKSkRO+8847vw7xNmzZKTEzUO++8U+nD/Pbbb1dycrJGjx6t9evXy+12q7S0VHl5eTU+52HDhql3797ntCb2f/7nf+rrr79WWVmZSktL9fLLLys+Pl7dunVTYmKiUlNT9c4778jtduutt97Sd999V+n4/fv36y9/+YucTqc++OADbdq0SSNGjFBycrKGDx+uhx56SEeOHJHH49F3332nf/zjH7XWM3bsWL333nt69913NXbs2GrbbNmyRZ999plOnTqlyMhItWrVyvfeqe19csMNN2jevHlasWKFysrK9Mc//rHS0lhnq+29Ue748eOyLEuJiYmSpLffflvr16+v9ZiGcNNNN+nll19Wfn6+SkpKKi0VBiC0cC/CvQj3ItyL1IZ7kdBHsBAiHnroIb300kuaNGmSEhMTlZ6erqlTp/rWPn7ssceUlZWlvn37qk+fPurXr1+915udMWOGOnXqpNjYWL322mt69913JUndu3fXzTffrIyMDMXHx6ugoED33XefRo0apeHDhysmJkYDBw6stIZwTZ544gmtXr1acXFxuvbaa/Xzn/+80v4//OEPmjRpkuLj4/XCCy9UOX7WrFnatWuXUlJSNHr0aD311FP68Y9/XK/nV5dAnjshIUHz5s3Tiy++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5XXr1unkk09utm7w4MFKTk5WdXW1vv/97+vTTz/Va6+9pm+++Uaff/65pk2bptWrV3s8Z1FRkZYuXepXvbfddpsOHz6szz//XAcPHtQ///lPZWZm+rWv9giXn29j4VgzgPBEWyRwaIvQFmlJuPx8GwvHmuEHg7BXUVFh4uPjzbJly1rcpqqqytxyyy0mJSXFpKSkmFtuucVUVVUZY4xZu3atSU1NNY8++qhJSkoyycnJ5plnnnE/duXKlWbIkCEmISHBDBgwwDzyyCPm8OHDJjY21liWZeLj4018fLwpLCw0TqfTPPzww2bQoEGmT58+ZsqUKWb//v3GGGO+/vprI8nU1tYaY4w5++yzzdNPP22MMebLL7805557runTp49JTEw006dPN+Xl5cYYY6688kpjWZaJjY018fHx5ne/+12zfRUWFpof/vCHpnfv3ubEE080CxYscNd/7733milTppif/OQnJiEhwQwdOtRs2rTJ63EaNGiQx3NVVVUdd9+XXnqp+fGPf2y6d+/ufj2NzZgxw9x0001m4sSJJiEhwZx22mnmyy+/dN///vvvm5ycHNOjRw+Tk5Nj3n//ffd9jY9RQUGBGTdunOnRo4dJTEw0U6dOdW/3+eefm/POO8/07t3bnHTSSeall15q8XfBGGMWL15s0tLSzOOPP26GDRvmXr9u3TrTs2dP43Q6jTHG3HjjjebJJ580/fr181h37bXXGmOMefrpp01ycrI5fPhwq88nycydO9dkZma6f2Zz5swxM2bMaPVxDYYNG2aWL1/u9b6mvwvGeB63RYsWmTPPPNPcfPPNpkePHiYrK8u89dZb7m0rKirMzJkzTXJyshkwYICZM2eOqaur83jsrbfeavr06WNmz55tevbsaT799FP34/ft22diY2NNSUmJ+2+pwdy5c82AAQNMQkKCOemkk9zP29rfiTHGLFmyxJxwwgmmT58+5sEHHzQDBw40b775ZrPX/tRTT5no6GjTpUsXEx8fby666CJjjDEDBw40c+fONSNGjDBdu3Y1tbW17udLSEgwQ4YMMa+88op7P4sWLTJnnXWWe1mSeeKJJ0xmZqbp2bOnuemmm0x9fX2bt62rqzO33367SUxMNBkZGeZ///d/m/2sAEQG2iK0RWiL0BahLdK5ESxEgNWrVxuHw9HqH8ivf/1rc/rpp5uSkhKzb98+M2bMGHPPPfcYY1wf5g6Hw/z61782NTU1ZuXKlSYuLs4cOHDAGGNMcnKyWbdunTHGmAMHDpiPPvrI/bjGb1zGGPP444+b008/3ezevdtUVVWZWbNmmWnTphljWv8wLygoMG+88Yapqqoy+/btM2PHjjW33HKLe79N38ya7mvs2LHmxhtvNEePHjUff/yx6du3r3n77beNMa4P3JiYGLNy5UpTV1dnZs+ebU4//fQWj1XT5zrevqOjo83y5cuN0+k0lZWVzfY3Y8YM06dPH/Phhx+a2tpaM336dHP55ZcbY4zZv3+/6dWrl1myZImpra01L7zwgunVq5cpKytrdoymTZtmHnzwQeN0Os3Ro0fN+vXrjTHGHD582KSlpZlnnnnG1NbWms2bN5vExESzZcuWFl/j97//ffPLX/7S7N271zgcDpOXl2eMcTX6YmNjzebNm40xrg/Rr776ypx55pke6xYvXmyMMebyyy/36QNZktm2bZs59dRT3a+nLR/m1157rRk6dKh55plnzLZt2zzu8+XD3OFwmMcee8zU1NSYpUuXmh49erg/PC+55BIza9Ysc/jwYVNSUmJGjx5tnnzySY/H/vnPfza1tbWmsrLSXHPNNebuu+92P9e8efPMBRdcYIzx/Jv473//a9LS0kxhYaG7zoZGXGt/J1u2bDHx8fHm3XffNVVVVea2224zDofD64e5Ma7frzlz5nisGzhwoPnud79rdu3a5f6dXLZsmbvBvXTpUtOtWzdTVFTkfp1NP6AnTZpkysvLzc6dO03fvn3N6tWr27ztE088YYYMGWJ2795tDhw4YMaPH8+HORChaIvQFqEtQlukMdoinQ/BQgR47rnnTP/+/VvdZtCgQWblypXu5TVr1piBAwcaY1xvQLGxsR5/YElJSWbDhg3GGGPS09PNk08+aQ4ePOixT28f5ieffLJHAltUVGSio6NNbW1tqx/mTS1fvtxkZ2e7l1v7MN+1a5eJiooy33zzjfv+2bNnuz8o7r33XjN+/Hj3fVu2bDGxsbEtHqvGz+XLvseOHdvivoxxvdk2pOrGuM66ZGVlGWNcafDo0aM9tj/jjDPMokWLjDGex+gnP/mJue6668zu3bs9tl+6dKn53ve+57Fu1qxZ5r777vNaz86dO41lWebjjz82xhgzYcIE8/Of/9x9/9lnn20ef/xxs3//fpOWlmaMMeauu+5yr7Msy+zYscMYY8z48ePNXXfd5X7sxx9/bHr27Gm6d+9uTjrpJPd6SaagoMCsXLnSnHDCCaa6urpNH+aVlZXmoYceMqeeeqqJjo42J554olm1apUxxrcP85SUFHdybYwxo0ePNkuWLDF79+41Xbt29WiEvfDCC+acc85xPzY9Pd2jljfffNMMGjTIvXzmmWe6GzeN/yYKCgpMUlKSefPNN01NTY3HPlr7O7n//vvdjT1jXI21Ll26tPnDfOHChV63b/Dd737XvPrqq+7X2fQDuqGxaIwxU6ZMMQ8//HCbtz333HPdDSNjXMeOD3MgMtEWoS1CW4S2SGO0RTof5liIAImJiSorK2t1/FJRUZEGDhzoXh44cKCKioo89hEdHe1e7tatmw4fPixJ+sc//qFVq1Zp4MCBOvvss7Vhw4YWn2fnzp3Kzc1Vr1691KtXLw0ZMkQOh0MlJSWtvoaSkhJNmzZNqamp6tGjh6688kqVlZUd97U3vLY+ffqoe/fuHq+vsLDQvZycnOzx2qqqqnwa7+XLvtPT04+7n6bP33Bsm/5cvO2/we9//3sZY3Taaadp2LBheuZsx8IJAAAgAElEQVSZZyS5jvmHH37oPua9evXS888/757QqKlnn31WQ4YMUXZ2tiTXBDgvvPCCamtrJR0b27h+/XqdddZZkqTvfe977nXp6enumhMTEz0mXMrOzlZFRYVeeeUVVVdXN3vuiRMnKi0tTU899dRxj1ljcXFxuvvuu/XRRx9p//79mjp1qqZMmaIDBw749PjU1FRZluVebvj937lzp2pra5WSkuI+dtdff7327dvn3rbpz/fcc89VZWWlPvzwQ+3YsUP5+fnKzc1t9pyZmZl6/PHHdd9996lfv36aNm2a+2+utb+ToqIij+eMj49XYmJim46Xt7qXLFmi7Oxs93N+9tlnrf6NtfQ725Ztm74WX/5WAIQn2iK0RWiLtI62CG2RSEewEAHGjBmjmJiYVi9HNGDAAO3cudO9vGvXLg0YMMCn/Y8ePVorVqzQvn37dMkll2jq1KmS5PHm2CA9PV2rV69WRUWF+6uqqkqpqamtPsfdd98ty7L06aef6ptvvtFzzz0nY4z7fm/P1fi1HThwQIcOHfJ4fcd7Tl/4su/WavNl/41/Lt723yA5OVlPP/20ioqK9NRTT+mmm27Sl19+qfT0dJ199tkex/zw4cN64oknvD7nkiVLtH37diUnJys5OVm33367ysrKtGrVKkmuD/P169dr3bp1Gjt2rCTprLPO0vvvv69169Zp3Lhx7n2NHz9eb7zxho4cOeLza37ooYf029/+VpWVlT4/prEePXro7rvv1pEjR/T1118rPj5ekjz217QhU1hY6PH71PD7n56erpiYGJWVlbmP3TfffKMtW7a4t23683U4HJo6dapefPFFvfjii7rooos8GnuNTZ8+Xe+995527twpy7J01113SWr97yQlJUW7d+9276OyslL79+9v8Xi09PvXeP3OnTt13XXXad68edq/f78qKio0fPhwj2MSDCkpKdqzZ497ufHrAhBZaIvQFqEtQluktfW0RSIfwUIE6Nmzpx544AHdfPPNevXVV1VZWana2lqtXr1ad955pyTpiiuu0IMPPqjS0lKVlZXpgQce0JVXXnncfdfU1Oj555/XwYMH1aVLF/Xo0UNRUa5fm/79+2v//v06ePCge/sbbrhBc+bMcX9AlZaW+jQb9KFDh5SQkKCePXuqsLBQjzzyiMf9/fv31/bt270+Nj09XWeeeaZ+9atfqaqqSp988okWLlzo0+s7nmDuW3Kl5tu2bdMLL7yguro6vfTSS9q6dasuuuiiZtu+/PLL7jfG3r17y7IsRUVF6aKLLtK2bdv07LPPqra2VrW1tdq0aZM+//zzZvvYsGGDvvrqK23cuFH5+fnKz8/XZ599punTp2vJkiWSXI3DiooKPffcc+4P8969eyspKUnPPfecx4f5VVddpZSUFOXm5uqzzz6T0+lUVVWV8vLyWnzN55xzjoYPH96ma2L/z//8jzZt2qSamhpVVVXpT3/6k3r16qWsrCwlJSUpNTVVzz33nJxOp5555hl99dVXHo/ft2+f/vznP6u2tlYvv/yyPv/8c02cOFEpKSmaMGGC7rjjDn3zzTeqr6/XV199pXfffbfVeqZPn66XXnpJzz//vKZPn+51my+++EL//ve/VV1drdjYWMXFxbn/dlr7O7nsssv02muv6b333lNNTY1+85vfeFwaq6nW/jYaHDlyRJZlKSkpSZK0aNEiffbZZ60+JhCmTp2qP/3pTyosLFRFRYXHpcIARBbaIrRFaIvQFmkNbZHIR7AQIe644w499thjevDBB5WUlKT09HTNmzfPfe3je+65Rzk5ORo5cqRGjBihU0891efrzT777LPKyMhQjx499OSTT+r555+XJJ188sm64oorNGjQIPXq1UtFRUW65ZZbNHnyZE2YMEHdu3fXGWec4XEN4Zbce++92rx5s3r27KlJkybpRz/6kcf9v/rVr/Tggw+qV69eevTRR5s9/sUXX9SOHTs0YMAA5ebm6v7779d5553n0+s7nmDuOzExUa+99pr+8Ic/KDExUb///e/12muvqW/fvs223bRpk04//XQlJCRo8uTJ+tOf/qRBgwape/fueuONN7R06VINGDBAycnJuuuuu7x2/1u8eLEuvvhijRgxwn2WIDk5Wbfccotee+01HThwQPHx8Ro1apRqamo0fPhw92PHjh2rffv2eXyYx8bGau3atRo6dKgmTZqkHj16KCsrS5s2bdKyZctafN0PPvhgs66DCQkJWr9+vdftLcvSNddco759+2rAgAF68803tXLlSiUkJEiSnn76aT3yyCNKTEzUli1bdOaZZ3o8/vTTT1dBQYH69u2rOXPm6O9//7u7S9+SJUtUU1OjoUOHqnfv3rrssss8ulR6c/rppys+Pl5FRUX6wQ9+4HWb6upqzZ49W3379lVycrL27dunhx9+WJJa/TsZNmyY5s+fr+nTpyslJUW9e/du9Rrt1157rbZu3apevXq1eK3zoUOH6o477tCYMWPUv39/ffrpp+6upcF03XXXacKECRo5cqROOeUUTZw4UdHR0UG55jsA+9EWoS1CW4S2CG2Rzssywe5/AgA2+tvf/qa//vWveu+99+wupdNbvXq1brjhhmZdbgEAiGS0RUIHbZHgoccCACAojh49qlWrVqmurk6FhYW6//77vU4uBQAAEAy0RToOwQIAICiMMbr33nvVu3dvnXLKKRoyZIgeeOABu8sCAACdBG2RjsNQCAAAAAAA4Dd6LAAAAAAAAL9F211AY3379lVGRobdZQAAEHJ27NihsrIyu8voFGiPAADgXUvtkZAKFjIyMlq95iwAAJ1VTk6O3SV0GrRHAADwrqX2CEMhAAAAAACA3wgWAAAAAACA3wgWAAAAAACA3wgWAABA2Jg5c6b69eun4cOHu9cdOHBA559/vgYPHqzzzz9f5eXlklzXL//5z3+uzMxMjRw5Ups3b7arbAAAIhrBAgAACBtXX3211qxZ47Fu7ty5Gj9+vAoK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\n",
      "text/plain": [
       "<Figure size 1296x1152 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Plot all (m, n)\n",
    "hamming_sizes = [(16, 4), (16, 7), (256, 8), (4, 2)]\n",
    "fig, axs = plt.subplots(2, 2, figsize=(18, 16), facecolor='w')\n",
    "for i in range(2):\n",
    "    for j in range(2):\n",
    "        idx = j + i*2\n",
    "        m, n = hamming_sizes[idx]\n",
    "        ax = plot_constellation(m=m, n=n, model=\"supervised\", ax=axs[i, j], device=device)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Now we can simulate end-to-end communication. We use the pre-trained models to encode a block of messages. First the messages will go through the Encoder, then they will go through the channel that will add noise and at the end we will pass them through the Decoder. As mentioned before, the decoder will output the probability the received sample corresponds to each $m$ message. We are going to pick the one with highest probability. After this decission we are going to check how many mistakes we had i.e. calculate the Block Error Rate (BLER)."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [],
   "source": [
    "def nn_communication(m, n, snr_db, n_blocks, chann_type=\"AWGN\",\n",
    "                     model=\"supervised\", verbose=False):\n",
    "    # Get the pretrained models\n",
    "    enc, dec = recover_models(device, model=model, m=m, n=n, chann_type=chann_type)\n",
    "    \n",
    "    # Print the parameters of our trained models\n",
    "    if verbose: print(\"Models\")\n",
    "    if verbose: print(enc)\n",
    "    if verbose: print(dec)\n",
    "    if verbose: print()\n",
    "\n",
    "    k = math.log2(m)\n",
    "    \n",
    "    # We are not training hence not using gradients. Just evaluating\n",
    "    with torch.no_grad():\n",
    "        # Generate as much data as specified in the parameters\n",
    "        data = torch.randint(0, m, (n_blocks, 1)).to(device)\n",
    "        if verbose: print(\"Original x\")\n",
    "        if verbose: print(data)\n",
    "        \n",
    "        # Encode the data (Tx)\n",
    "        enc_data = enc(data)\n",
    "        if verbose: print(\"Encoded x\")\n",
    "        if verbose: print(enc_data)\n",
    "    \n",
    "        # Pass the data through the channel. Add noise\n",
    "        noise_data = channel(enc_data, n, k, snr_db, chann_type=chann_type)\n",
    "        if verbose: print(\"x with noise\")\n",
    "        if verbose: print(noise_data)\n",
    "        \n",
    "        # Decode the data (Rx)\n",
    "        dec_data = dec(noise_data, chann_type=chann_type)\n",
    "        \n",
    "        # The last layer returns probabilites over all possible messages\n",
    "        # Choose the one that has the highest one\n",
    "        data_dec = torch.argmax(dec_data, dim=1).unsqueeze(1)\n",
    "        if verbose: print(\"Recovered x\")\n",
    "        if verbose: print(data_dec)\n",
    "        \n",
    "        # Count the errors that we had\n",
    "        errors = data_dec != data\n",
    "        total_errors = errors.sum().to(\"cpu\").numpy()\n",
    "\n",
    "    # Get the error. Rate of the errrors\n",
    "    bler = total_errors/n_blocks\n",
    "    if verbose: print(\"BLER\")\n",
    "    if verbose: print(bler)\n",
    "\n",
    "    print(\"Finished calculations for channel (%s). SNR dB: %f.\" % (chann_type, snr_db))\n",
    "    return bler"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Models\n",
      "Encoder(\n",
      "  (linear_M): Sequential(\n",
      "    (0): Embedding(16, 16)\n",
      "    (1): ReLU()\n",
      "  )\n",
      "  (linear_N): Sequential(\n",
      "    (0): Linear(in_features=16, out_features=7, bias=True)\n",
      "  )\n",
      "  (normalization): BatchNorm1d(7, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)\n",
      ")\n",
      "Decoder(\n",
      "  (linear_relu): Sequential(\n",
      "    (0): Linear(in_features=7, out_features=16, bias=True)\n",
      "    (1): ReLU()\n",
      "  )\n",
      "  (linear_out): Sequential(\n",
      "    (0): Linear(in_features=16, out_features=16, bias=True)\n",
      "    (1): LogSoftmax()\n",
      "  )\n",
      ")\n",
      "\n",
      "Original x\n",
      "tensor([[10],\n",
      "        [15],\n",
      "        [ 2],\n",
      "        [14],\n",
      "        [14],\n",
      "        [ 3],\n",
      "        [ 6],\n",
      "        [ 7],\n",
      "        [ 7],\n",
      "        [12]], device='cuda:0')\n",
      "Encoded x\n",
      "tensor([[-0.0712, -1.1519, -1.6068,  1.5853,  0.0487,  0.7359,  2.3451],\n",
      "        [-2.3904,  2.4989, -1.2515, -0.5506,  1.4924, -1.2562, -1.7512],\n",
      "        [-0.3046, -2.2308,  0.9921, -0.6842, -1.0018,  1.9978, -2.1422],\n",
      "        [ 1.2614,  1.0663, -0.2769, -0.2517,  1.3665, -2.0499,  0.8068],\n",
      "        [ 1.2614,  1.0663, -0.2769, -0.2517,  1.3665, -2.0499,  0.8068],\n",
      "        [-1.9632,  0.4917,  1.8149, -0.3410,  1.0723, -2.2776, -0.6710],\n",
      "        [-1.3396, -1.4447, -0.1546, -1.9682, -1.0486,  0.3245,  2.5559],\n",
      "        [ 2.2165,  0.1202,  1.6287,  0.5965,  0.6101,  1.6616, -3.3151],\n",
      "        [ 2.2165,  0.1202,  1.6287,  0.5965,  0.6101,  1.6616, -3.3151],\n",
      "        [-0.9318,  1.2955, -1.2274, -2.1299, -0.3247,  0.6125,  0.0688]],\n",
      "       device='cuda:0')\n",
      "x with noise\n",
      "tensor([[-0.8615, -1.4077, -2.4801,  2.0182, -0.6139,  0.9023,  0.9847],\n",
      "        [-1.9421,  1.0500, -1.9296,  0.4891,  0.9305,  0.4738, -2.5106],\n",
      "        [ 0.5013, -1.4610,  0.9911, -0.1610, -0.1681,  1.0582, -2.3714],\n",
      "        [ 2.3325,  1.6920,  0.2232,  0.8841, -0.1469, -3.3930, -1.9154],\n",
      "        [-0.7340,  3.1310,  0.7375,  0.2909,  0.4032, -0.9841,  0.6876],\n",
      "        [-2.5367,  1.0798,  1.9893,  0.3507,  1.2588, -3.3903, -0.5210],\n",
      "        [-1.1371, -1.5185,  0.4423, -4.1684, -0.3026,  0.5893,  3.1106],\n",
      "        [ 0.4643,  0.8664,  1.8805,  1.0320,  0.7613,  2.1371, -3.7383],\n",
      "        [ 1.5747, -1.0614,  0.0695, -0.5276,  0.8769,  0.8894, -3.4276],\n",
      "        [-1.6814,  1.3975, -0.2425, -2.3761, -1.1709, -0.6635, -2.5041]],\n",
      "       device='cuda:0')\n",
      "Recovered x\n",
      "tensor([[10],\n",
      "        [15],\n",
      "        [ 2],\n",
      "        [14],\n",
      "        [ 3],\n",
      "        [ 3],\n",
      "        [ 6],\n",
      "        [ 7],\n",
      "        [ 1],\n",
      "        [12]], device='cuda:0')\n",
      "BLER\n",
      "0.2\n",
      "Finished calculations for channel (AWGN). SNR dB: 0.000000.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "0.2"
      ]
     },
     "execution_count": 28,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Visualize a small sample communication\n",
    "nn_communication(m=16, n=7, snr_db=0, n_blocks=10, model=\"supervised\", chann_type=\"AWGN\", verbose=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### Theoretical encoding using BPSK and Hamming\n",
    "\n",
    "To compare the autoencoder we are going to simluate a traditional communications system using BPSK and Hamming $(n, k)$. First we are going to simulate messages with $k$ bits using `numpy` and then get `n` encoded bits. Encoding is done using Hamming algorithm, the implementation of the Hamming algorithm can be found in Python library [scikit-dsp-comm](https://pypi.org/project/scikit-dsp-comm/). After encoding the bits they are modulated using BPSK. BPSK can be simulated by just transforming the inputs with values between 0 and 1 to values between -1 and 1. Once modulated we can pass them through the channel adding AWGN. On the receiver side we first de-modulate the bits i.e. pass now from -1 to 1 values to 0 and 1 and then decode them using Hamming. As a final step we check how many mistakes we had and return the BLER.\n",
    "\n",
    "All the implementation of the functions used in the end-to-end communication can be found in a separate file. Here we are just going to visualize some simple example and use the modules.\n",
    "\n",
    "*Note:* The implementation of BPSK is based on the example presented [here]((https://scipy-cookbook.readthedocs.io/items/CommTheory.html))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [],
   "source": [
    "def bpsk_communication(m, n, snr_db, n_blocks, chann_type=chann_type, verbose=False):\n",
    "    # Get k. Number of bits necessary to transmit the m messages\n",
    "    k = int(math.log2(m))\n",
    "\n",
    "    # Generate inputs\n",
    "    x = np.random.randint(0, 2, size=(n_blocks, k))\n",
    "    if verbose: print(\"Original x\")\n",
    "    if verbose: print(x)\n",
    "    \n",
    "    # Encode the messages using Hamming\n",
    "    # Strange output from library sk_dsp_comm.fec_block when doing hamming coding\n",
    "    # e.g. (7,4) hamming code object\n",
    "    # Supressing such output with this line\n",
    "    with io.capture_output() as captured:\n",
    "        x_encoded = block_encoder(x, n, k)\n",
    "    if verbose: print(\"Encoded x\")\n",
    "    if verbose: print(x_encoded)\n",
    "    \n",
    "    # Signal vector to transmit (modulation)\n",
    "    s_transmit = 2*x_encoded - 1\n",
    "    if verbose: print(\"Modulated x\")\n",
    "    if verbose: print(s_transmit)\n",
    "    \n",
    "    # Add the noise\n",
    "    s_noise = channel(s_transmit, n, k, snr_db, chann_type=chann_type)\n",
    "    if verbose: print(\"x with noise after channel\")\n",
    "    if verbose: print(s_noise)\n",
    "    \n",
    "    # Demoludation of the signal\n",
    "    y = np.sign(s_noise)\n",
    "    y_enc = (y + 1)/2\n",
    "    \n",
    "    if verbose: print(\"Demodulated received x\")\n",
    "    if verbose: print(y_enc.astype(int))\n",
    "\n",
    "    # Decode them using Hamming\n",
    "    with io.capture_output() as captured:\n",
    "        x_rec = block_decoder(y_enc.astype(int), n, k)\n",
    "    \n",
    "    if verbose: print(\"Decoded x\")\n",
    "    if verbose: print(x_rec)\n",
    "\n",
    "    # Get the bler\n",
    "    block_bler = bler(x, x_rec)\n",
    "    if verbose: print(\"BLER\")\n",
    "    if verbose: print(block_bler)\n",
    "    \n",
    "    print(\"Finished calculations for BPSK(%d, %d) channel: %s. SNR dB: %f.\" % (n, k, chann_type, snr_db))\n",
    "\n",
    "    return block_bler"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Original x\n",
      "[[0 0 1 1]\n",
      " [1 1 1 1]\n",
      " [0 0 0 1]\n",
      " [0 1 0 0]\n",
      " [0 0 1 0]\n",
      " [1 0 1 1]\n",
      " [0 1 0 0]\n",
      " [0 0 1 1]\n",
      " [0 1 0 1]\n",
      " [0 0 0 1]]\n",
      "Encoded x\n",
      "[[0 0 1 1 1 1 0]\n",
      " [1 1 1 1 1 1 1]\n",
      " [0 0 0 1 1 0 1]\n",
      " [0 1 0 0 1 1 0]\n",
      " [0 0 1 0 0 1 1]\n",
      " [1 0 1 1 0 0 1]\n",
      " [0 1 0 0 1 1 0]\n",
      " [0 0 1 1 1 1 0]\n",
      " [0 1 0 1 0 1 1]\n",
      " [0 0 0 1 1 0 1]]\n",
      "Modulated x\n",
      "[[-1 -1  1  1  1  1 -1]\n",
      " [ 1  1  1  1  1  1  1]\n",
      " [-1 -1 -1  1  1 -1  1]\n",
      " [-1  1 -1 -1  1  1 -1]\n",
      " [-1 -1  1 -1 -1  1  1]\n",
      " [ 1 -1  1  1 -1 -1  1]\n",
      " [-1  1 -1 -1  1  1 -1]\n",
      " [-1 -1  1  1  1  1 -1]\n",
      " [-1  1 -1  1 -1  1  1]\n",
      " [-1 -1 -1  1  1 -1  1]]\n",
      "x with noise after channel\n",
      "[[-2.0745477  -1.65505676  0.01771164  0.68137403  1.66593433  1.68519541\n",
      "  -2.01316337]\n",
      " [ 0.93600727  1.34137511  3.28251465  0.66898241  1.65878922  0.06728508\n",
      "   0.57469907]\n",
      " [ 0.18670636 -0.52175147  1.69005803  1.05402537  1.71060687 -2.44854884\n",
      "   1.13566302]\n",
      " [-1.31521709  2.06544752 -2.12839814 -0.10282916 -0.18837879  2.97226335\n",
      "   0.080063  ]\n",
      " [-1.93327931 -0.74984327  0.82350028  0.33673695  0.40973719  1.21243758\n",
      "   1.01989758]\n",
      " [-0.3238626  -0.22691056  1.78788589  0.28475575 -1.28592117 -1.98474872\n",
      "   0.95955416]\n",
      " [-0.85841249  1.21942557 -1.0020518  -0.57989651  1.91730906  2.03303683\n",
      "  -1.17559937]\n",
      " [-0.04448016 -0.08670174  2.31786297  2.31827153  0.21792689  0.96495276\n",
      "   0.06633622]\n",
      " [-1.59485792  0.15423194 -1.4666577   0.17302358 -2.09883936  0.42349828\n",
      "   2.69326506]\n",
      " [-1.81668062 -1.93526998 -0.32878133  2.59674237  0.37775141  0.15887119\n",
      "   1.36581805]]\n",
      "Demodulated received x\n",
      "[[0 0 1 1 1 1 0]\n",
      " [1 1 1 1 1 1 1]\n",
      " [1 0 1 1 1 0 1]\n",
      " [0 1 0 0 0 1 1]\n",
      " [0 0 1 1 1 1 1]\n",
      " [0 0 1 1 0 0 1]\n",
      " [0 1 0 0 1 1 0]\n",
      " [0 0 1 1 1 1 1]\n",
      " [0 1 0 1 0 1 1]\n",
      " [0 0 0 1 1 1 1]]\n",
      "Decoded x\n",
      "[[0 0 1 1]\n",
      " [1 1 1 1]\n",
      " [1 0 1 1]\n",
      " [0 1 0 1]\n",
      " [0 0 1 1]\n",
      " [1 0 1 1]\n",
      " [0 1 0 0]\n",
      " [0 0 1 1]\n",
      " [0 1 0 1]\n",
      " [0 0 0 1]]\n",
      "BLER\n",
      "0.3\n",
      "Finished calculations for BPSK(7, 4) channel: AWGN. SNR dB: 0.000000.\n"
     ]
    },
    {
     "data": {
      "text/plain": [
       "0.3"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# Visualize BPSK communication\n",
    "bpsk_communication(m=16, n=7, snr_db=0, chann_type=\"AWGN\", n_blocks=10, verbose=True)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## Results\n",
    "\n",
    "We will go through all the $(n, k)$ encodings with which we trained our Autoencoder $(4, 4)\\ (7, 4)\\ (8, 8)\\ (2, 2)$. The Autoencoders were trained at a constant $\\text{SNR}_{\\text{dB}}=7$ and we are going to put them through noise levels between -4 and 10. We are going to compare the BLER obtained at each noise level with the theoretical BPSK simmulation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Finished calculations for BPSK(4, 4) channel: AWGN. SNR dB: -4.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: -4.000000.\n",
      "Finished calculations for BPSK(4, 4) channel: AWGN. SNR dB: -3.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: -3.000000.\n",
      "Finished calculations for BPSK(4, 4) channel: AWGN. SNR dB: -2.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: -2.000000.\n",
      "Finished calculations for BPSK(4, 4) channel: AWGN. SNR dB: -1.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: -1.000000.\n",
      "Finished calculations for BPSK(4, 4) channel: AWGN. SNR dB: 0.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 0.000000.\n",
      "Finished calculations for BPSK(4, 4) channel: AWGN. SNR dB: 1.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 1.000000.\n",
      "Finished calculations for BPSK(4, 4) channel: AWGN. SNR dB: 2.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 2.000000.\n",
      "Finished calculations for BPSK(4, 4) channel: AWGN. SNR dB: 3.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 3.000000.\n",
      "Finished calculations for BPSK(4, 4) channel: AWGN. SNR dB: 4.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 4.000000.\n",
      "Finished calculations for BPSK(4, 4) channel: AWGN. SNR dB: 5.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 5.000000.\n",
      "Finished calculations for BPSK(4, 4) channel: AWGN. SNR dB: 6.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 6.000000.\n",
      "Finished calculations for BPSK(4, 4) channel: AWGN. SNR dB: 7.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 7.000000.\n",
      "Finished calculations for BPSK(4, 4) channel: AWGN. SNR dB: 8.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 8.000000.\n",
      "Finished calculations for BPSK(4, 4) channel: AWGN. SNR dB: 9.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 9.000000.\n",
      "Finished calculations for BPSK(7, 4) channel: AWGN. SNR dB: -4.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: -4.000000.\n",
      "Finished calculations for BPSK(7, 4) channel: AWGN. SNR dB: -3.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: -3.000000.\n",
      "Finished calculations for BPSK(7, 4) channel: AWGN. SNR dB: -2.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: -2.000000.\n",
      "Finished calculations for BPSK(7, 4) channel: AWGN. SNR dB: -1.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: -1.000000.\n",
      "Finished calculations for BPSK(7, 4) channel: AWGN. SNR dB: 0.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 0.000000.\n",
      "Finished calculations for BPSK(7, 4) channel: AWGN. SNR dB: 1.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 1.000000.\n",
      "Finished calculations for BPSK(7, 4) channel: AWGN. SNR dB: 2.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 2.000000.\n",
      "Finished calculations for BPSK(7, 4) channel: AWGN. SNR dB: 3.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 3.000000.\n",
      "Finished calculations for BPSK(7, 4) channel: AWGN. SNR dB: 4.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 4.000000.\n",
      "Finished calculations for BPSK(7, 4) channel: AWGN. SNR dB: 5.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 5.000000.\n",
      "Finished calculations for BPSK(7, 4) channel: AWGN. SNR dB: 6.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 6.000000.\n",
      "Finished calculations for BPSK(7, 4) channel: AWGN. SNR dB: 7.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 7.000000.\n",
      "Finished calculations for BPSK(7, 4) channel: AWGN. SNR dB: 8.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 8.000000.\n",
      "Finished calculations for BPSK(7, 4) channel: AWGN. SNR dB: 9.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 9.000000.\n",
      "Finished calculations for BPSK(8, 8) channel: AWGN. SNR dB: -4.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: -4.000000.\n",
      "Finished calculations for BPSK(8, 8) channel: AWGN. SNR dB: -3.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: -3.000000.\n",
      "Finished calculations for BPSK(8, 8) channel: AWGN. SNR dB: -2.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: -2.000000.\n",
      "Finished calculations for BPSK(8, 8) channel: AWGN. SNR dB: -1.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: -1.000000.\n",
      "Finished calculations for BPSK(8, 8) channel: AWGN. SNR dB: 0.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 0.000000.\n",
      "Finished calculations for BPSK(8, 8) channel: AWGN. SNR dB: 1.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 1.000000.\n",
      "Finished calculations for BPSK(8, 8) channel: AWGN. SNR dB: 2.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 2.000000.\n",
      "Finished calculations for BPSK(8, 8) channel: AWGN. SNR dB: 3.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 3.000000.\n",
      "Finished calculations for BPSK(8, 8) channel: AWGN. SNR dB: 4.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 4.000000.\n",
      "Finished calculations for BPSK(8, 8) channel: AWGN. SNR dB: 5.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 5.000000.\n",
      "Finished calculations for BPSK(8, 8) channel: AWGN. SNR dB: 6.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 6.000000.\n",
      "Finished calculations for BPSK(8, 8) channel: AWGN. SNR dB: 7.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 7.000000.\n",
      "Finished calculations for BPSK(8, 8) channel: AWGN. SNR dB: 8.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 8.000000.\n",
      "Finished calculations for BPSK(8, 8) channel: AWGN. SNR dB: 9.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 9.000000.\n",
      "Finished calculations for BPSK(2, 2) channel: AWGN. SNR dB: -4.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: -4.000000.\n",
      "Finished calculations for BPSK(2, 2) channel: AWGN. SNR dB: -3.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: -3.000000.\n",
      "Finished calculations for BPSK(2, 2) channel: AWGN. SNR dB: -2.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: -2.000000.\n",
      "Finished calculations for BPSK(2, 2) channel: AWGN. SNR dB: -1.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: -1.000000.\n",
      "Finished calculations for BPSK(2, 2) channel: AWGN. SNR dB: 0.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 0.000000.\n",
      "Finished calculations for BPSK(2, 2) channel: AWGN. SNR dB: 1.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 1.000000.\n",
      "Finished calculations for BPSK(2, 2) channel: AWGN. SNR dB: 2.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 2.000000.\n",
      "Finished calculations for BPSK(2, 2) channel: AWGN. SNR dB: 3.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 3.000000.\n",
      "Finished calculations for BPSK(2, 2) channel: AWGN. SNR dB: 4.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 4.000000.\n",
      "Finished calculations for BPSK(2, 2) channel: AWGN. SNR dB: 5.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 5.000000.\n",
      "Finished calculations for BPSK(2, 2) channel: AWGN. SNR dB: 6.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 6.000000.\n",
      "Finished calculations for BPSK(2, 2) channel: AWGN. SNR dB: 7.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 7.000000.\n",
      "Finished calculations for BPSK(2, 2) channel: AWGN. SNR dB: 8.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 8.000000.\n",
      "Finished calculations for BPSK(2, 2) channel: AWGN. SNR dB: 9.000000.\n",
      "Finished calculations for channel (AWGN). SNR dB: 9.000000.\n"
     ]
    }
   ],
   "source": [
    "# Defining the hamming encoding sizes (m, n)\n",
    "hamming_sizes = [(16, 4), (16, 7), (256, 8), (4, 2)]\n",
    "\n",
    "# Defining all noise levels\n",
    "snrs_db = np.arange(-4, 10, 1)\n",
    "\n",
    "# Number of input messages to simulate\n",
    "n_blocks = 250000\n",
    "\n",
    "# To store the resutls\n",
    "results_y = np.zeros((2, len(hamming_sizes), len(snrs_db)))\n",
    "\n",
    "# Iterate over all the (m, n) encodings\n",
    "for hamm_n, (m, n) in enumerate(hamming_sizes):\n",
    "    # Iterate over the noise levels\n",
    "    for snr_n, snr_db in enumerate(snrs_db):\n",
    "        # Get the bler using theoritcal encoding\n",
    "        bler_bpsk = bpsk_communication(m=m, n=n, snr_db=snr_db, n_blocks=n_blocks, chann_type=\"AWGN\")\n",
    "        \n",
    "        # Get the bler using autoencoder\n",
    "        bler_autoenc = nn_communication(m=m, n=n, snr_db=snr_db, n_blocks=n_blocks,\n",
    "                                        chann_type=\"AWGN\", model=\"supervised\")\n",
    "        \n",
    "        # Store the results\n",
    "        results_y[0, hamm_n, snr_n] = bler_bpsk\n",
    "        results_y[1, hamm_n, snr_n] = bler_autoenc\n",
    "        \n",
    "        torch.cuda.empty_cache()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Comparing the results. Each Autoencoder with the correspondent BPSK simulation."
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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U/+zoUZaWhohISF2uXZSUhJJSUmcOXPGLtcTEREREZE/c/gSrzExMezdu5eDBw+SnZ3N3Llz6devn12uHR8fT2JiIgEBAXa5noiIiIiI/FmpFhFDhw6lffv27N69m9DQUKZPn46XlxdTpkyhZ8+eREZGMnjwYJo2bVqaMURERERExI5KdTjTnDlzrvh+XFwccXFxdr+fhjOJiIiIiJQ+p59YXRTx8fHEx8cTHR1tOoqIiDgpLQmu3I6k3I7lirnrphykHrBixQqsHp6m41w3tyoiRERErkVLgiu3Iym3Y7lk7hU/QQp06dIZPL1Np7luFqvVajUdwt6qVq1KWFhYsT577NgxqlWrZt9ADqDcjqXcjuWqucF5s6ekpHD8+HHTMYxTe+E6lNuxlNuxnDV3YW2FWxYRJREdHc3PP/9sOkaRKbdjKbdjuWpucO3sUjhX/W+r3I6l3I6l3I7j8CVeRURERETEtamIEBERERGRIvGcOHHiRNMhnE2bNm1MRygW5XYs5XYsV80Nrp1dCueq/22V27GU27GU2zE0J0JERERERIpEw5lERERERKRIVESIiIiIiEiRqIgQEREREZEiUREhIiIiIiJFoiJCRERERESKREWEiIiIiIgUiYoIEREREREpEhURIiIiIiJSJCoiRERERESkSFREiIiIiIhIkaiIEBERERGRIlERISIiIiIiRaIiQkREREREikRFhIiIiIiIFImKCBERERERKRIVESIiIiIiUiQqIkREREREpEhURIiIiIiISJGoiBARERERkSJRESEiIiIiIkWiIkJERERERIpERYSIiIiIiBSJiggRERERESkSFREiIiIiIlIkKiJERERERKRIVESIiIiIiEiRqIgQEREREZEiUREhIiIiIiJFoiJCRERERESKREWEiIiIiIgUiYoIEREREREpEhURIiIiIiJSJCoiRIohNjaWadOmATB79mx69OhRavcaP348b775Zqld/w9Hjx4lMjKSS5culfq9RETKCndsL5KSkrj99ttL/T7i3FREiMsJCwvDz8+PChUq5P+MHTvWWJ4777yTpUuXlsq1jx07xgcffMD999+f/968efOIjIykYsWKNGnShAULFlz39VJSUoiLiyMwMJAaNWowduxYcnJyAKhevTpdu3YlMTHR7n8OERETynJ78eOPP9K9e3eCgoKoVq0a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ERERyRcVEVKsubu706xZs9zH77tb1q5dm7Nnz/7pMSdOnKBHjx4cOXIEm83GtGnTct+bOHEic+fOzVeG9957j48++ugPrx85coTQ0FAA4uPj8fX1pVmzZjRp0oRu3bpx+vRpAGJiYnjhhRfydU0REckftRci11MRIcWaj48P27Zty308/fTTNz0mLi6Onj17AuDn58fUqVO5du1aga6fmZnJ7NmzGTFixE0/27FjR7Zt28aOHTto1aoVM2bMAKBPnz4sX76cK1euFCiDiIjcnNoLkeupiBC5gSlTptC4cWNat27NwYMHc1+Pi4ujd+/eAFSuXJmuXbsyb968Pxy/bds22rZtS5MmTejfvz/nz5//w2e+//773F0qAX7++WeaNm1K06ZNc3/0/7+cnBwuXbpE+fLlAbDZbISHhxMTE3Pb/5tFRCT/1F5IcaQiQoq1q1evXtc9/dlnn+W+5+vry86dO5k4cSKPPvooAFlZWezbt4+QkJDczz311FP885//JCsr67pz33///UyePJkdO3bQuHFjXn755T9cf926dbRs2TL3+ejRo5k2bRrbt2//w2fXrFlDs2bNqFmzJitXrmTMmDG574WFhbFmzZqCfxEiIpIntRci11MRIcXa/++eHjp0aO57w4cPz/3nhg0bANi0aRNt2rS57hyBgYG0adOGTz/9NPe1CxcukJKSQufOnQEYOXIkq1ev/sP1T5w4QeXKlQFISUkhJSWFTp06AXDfffdd99nfu6eTkpIYPXo0Tz75ZO57fn5+HD9+vMDfg4iI5E3thcj1VESI3IDNZvvDn2NjY+nVq9cfPvvss88yefJkcnJy8nUNHx8f0tLS8p2tX79+1zUyaWlp+Pj45Ps8IiJy+9ReSHGkIkLkBn7vqv7ss89o164dAKtWraJbt25/+GzDhg0JCQlh+fLlgL1ru3z58rldxvPnz8+9y/R/BQcH546fLVeuHOXKlWPt2rUAfPLJJzfMtnbtWurWrZv7fP/+/bkrc4iIiGOpvZDiyMN0ABGTfh/j+rtevXrlLtt3/vx5mjRpQokSJViwYAFnzpzB29ubMmXK/Om5Jk2aRPPmzXOfz5s3j/Hjx3PlyhUCAwOZM2fOH47p3bv3dd3Qc+bMYcyYMdhsNnr06HHdZ38f45qTk4Ovry8zZ87Mfe+HH37gjTfeKNiXICIiN6X2QuR6tpz89qeJFFMff/wxycnJt7SsX37079+fKVOmUK9evQIdf+rUKUaMGMGqVasKNZeIiBSM2gspDlREiBi2b98+Tp06lTtBLr9++uknPD09r7tDJiIi1qP2QpyJiggREREREckXTawWEREREZF8UREhIiIiIiL5oiJCRERERETyRUWEiIiIiIjki4oIERERERHJl/8BKTiRCmGyQkQAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 936x792 with 4 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Comparing each autoencoder with the theoritcal result\n",
    "fig, axs = plt.subplots(2, 2, figsize=(13, 11), facecolor='w')\n",
    "\n",
    "axs[0, 0].semilogy(snrs_db, results_y[0, 0,:], label='BPSK (4, 4)')\n",
    "axs[0, 0].semilogy(snrs_db, results_y[1, 0,:], label='Autoenc (4, 4)')\n",
    "axs[0, 0].legend(loc='upper right')\n",
    "axs[0, 0].set_title('Encoding (n, k)=(4, 4)')\n",
    "\n",
    "axs[0, 1].semilogy(snrs_db, results_y[0, 1,:], label='BPSK (7, 4)')\n",
    "axs[0, 1].semilogy(snrs_db, results_y[1, 1,:], label='Autoenc (7, 4)')\n",
    "axs[0, 1].legend(loc='upper right')\n",
    "axs[0, 1].set_title('Encoding (7, 4)')\n",
    "\n",
    "axs[1, 0].semilogy(snrs_db, results_y[0, 2,:], label='BPSK (8, 8)')\n",
    "axs[1, 0].semilogy(snrs_db, results_y[1, 2,:], label='Autoenc (8, 8)')\n",
    "axs[1, 0].legend(loc='upper right')\n",
    "axs[1, 0].set_title('Encoding (8, 8)')\n",
    "\n",
    "axs[1, 1].semilogy(snrs_db, results_y[0, 3,:], label='BPSK (2, 2)')\n",
    "axs[1, 1].semilogy(snrs_db, results_y[1, 3,:], label='Autoenc (2, 2)')\n",
    "axs[1, 1].legend(loc='upper right')\n",
    "axs[1, 1].set_title('Encoding (2, 2)')\n",
    "\n",
    "for ax in axs.flat:\n",
    "    ax.grid(True)\n",
    "    ax.set(xlabel='Eb/No (dB)', ylabel='BLER')\n",
    "\n",
    "for ax in axs.flat:\n",
    "    ax.label_outer()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "To my surprise they are not the same. We got better results, at every single $(n, k)$ the Autoencoder outperforms BPSK. This can be due to the fact that the normalization used was different than the one presented in the paper. One other thing that could affect is the implementation of embedding in Pytorch and Tensorflow (the paper used Tensorflow). Also I did not have time to check and compare the results obtained from the BPSK simmulation to other resilts from more specialized software like *Matlab*, it could be interesting to know if the results obtained here are similar.\n",
    "\n",
    "The following plots are the ones presented in the original paper. "
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 1040x480 with 2 Axes>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    }
   ],
   "source": [
    "# Comparing each autoencoder with the theoritcal result\n",
    "fig, axs = plt.subplots(1, 2, figsize=(13, 6), dpi= 80, facecolor='w')\n",
    "\n",
    "axs[0].semilogy(snrs_db, results_y[0, 0,:], label='BPSK (4, 4)')\n",
    "axs[0].semilogy(snrs_db, results_y[1, 0,:], label='Autoenc (4, 4)')\n",
    "axs[0].semilogy(snrs_db, results_y[0, 1,:], label='BPSK (7, 4)')\n",
    "axs[0].semilogy(snrs_db, results_y[1, 1,:], label='Autoenc (7, 4)')\n",
    "axs[0].legend(loc='upper right')\n",
    "\n",
    "axs[1].semilogy(snrs_db, results_y[0, 2,:], label='BPSK (8, 8)')\n",
    "axs[1].semilogy(snrs_db, results_y[1, 2,:], label='Autoenc (8, 8)')\n",
    "axs[1].semilogy(snrs_db, results_y[0, 3,:], label='BPSK (2, 2)')\n",
    "axs[1].semilogy(snrs_db, results_y[1, 3,:], label='Autoenc (2, 2)')\n",
    "axs[1].legend(loc='upper right')\n",
    "\n",
    "for ax in axs.flat:\n",
    "    ax.grid(True)\n",
    "    ax.set(xlabel='Eb/No (dB)', ylabel='BLER')\n",
    "\n",
    "for ax in axs.flat:\n",
    "    ax.label_outer()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.6.9"
  }
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
